According to the United States' Department of Labor web site, this will depend on whether you're considered an "Exempt" employee for the wage and salary laws and also whether the holiday or weekend hours worked put you into overtime.
To explain this, I need to define a "work week" as a set period of 7 consecutive days in which an employee works. Note that a work week need not correspond to a calendar week. A standard work week will contain 40 hours of work. Any time over that 40 hours is overtime. However, an employer can (and some routinely do) schedule an employee to work 8 to 10 consecutive days that split those days over two work weeks in such a way as to avoid overtime pay.
Exempt employees (often called salaried or salary employees) are generally just that - exempt - from receiving any extra pay above their salaries for work they do, whether it is overtime or done on holidays or weekends. The trade-off is that an exempt employee is supposed to be paid a full wage for times he/she works less than 40 hours and also that salaries are expected to be higher than non-exempt wages.
Non-exempt (sometimes called hourly) employees have to be paid overtime for any work they do over 40 hours in a work week; there is no legal requirement of which I am aware that work done on weekends or holidays automatically receive extra pay. However, if the employee has to work over 40 hours in a work week because of this weekend or holiday work, then he/she is entitled to overtime pay.
Note this answer is only addressing the United States as a whole; state or locality laws may modify these requirements. Also, employment contracts (union negotiated or individually negotiated) can also modify these requirements.