Well, there are also limits on how much any player can make off of a particular contract, as well. The NBA has limits on what kind of deal a player can sign depending on how many years experience he has.
Tony, let me reference the NBA for you, because that’s the only cap I vaguely understand. The NBA has maximum salaries (already explained), a salary cap of $40 something million this year, and a luxury tax that will be estimated at around $50 million. What this means is that no player can earn more than the maximum salary. The salary cap, as astorian pointed out, is soft. This means that teams can violate the cap for a variety of specific reasons. If a team is in violation of the cap, it can’t sign anymore free agents except those that fall under the exception rules. Also, if they are in violation of the cap then they can’t trade for a player(s) of higher monetary value according to the 15% rule. The 15% rule is that the incoming player(s) salaries can be no more than $100,000 time 1.15 the contractual value of the outgoing player.
The luxury tax is that real killer. Every dollar above the luxury tax threshold is taxed double. So if the threshold is $50 million and my payroll is $51 million, the million I am over gets doubled. So my actual payroll is $52 million with the tax going to the league. The kicker is that the threshold is determined at the end of the season according to a prescribed formula, so teams don’t know whether or not they are going to be in violation of the cap for that year until the end of the season when they are then punished for being over a threshold they didn’t know the value of.
If you are a masochist you can read up about everything at this site. But it’s dense stuff.