

In professional sports, a salary cap is a limit on the amount of money a team can spend on player salaries, either as a per-player limit or a total limit for the team's roster (or both). Several sports leagues have made salary caps mandatory, both as a method of keeping overall costs down, and in order to balance the league so a wealthy team cannot become dominant simply by buying all the top players. Salary caps are often the major issue in negotiations between management and players' unions.
The NFL's cap is a so-called "hard cap" (which no team can exceed for any reason under penalty from the league), and a hard salary floor (a minimum team payroll that no team can drop beneath for any reason, 75% of the cap).
The NBA's salary cap is a so-called "soft cap", meaning that teams are allowed to exceed the cap number in order to retain the rights to a player who has already been on the team.
There are ciriticisms of salary cap.
1. Unfair Negotiation Tactic
Salary cap is simply a way for management to get an unfair advantage in labor negotiations with players.
2. Veteran Neglect
Often a team will have to let go of many of its players – frequently, veterans who have been with the club for a long time – in order to comply with the salary cap.
3. Distorting Fan Attitudes
Fans tend to lose interest in a team once it is out of playoff contention.
4. Restricting Free Markets
"There should be no artificial limit on what anyone is able to earn if they have the talent."
MLB has instead implemented the so-called luxury tax, an arrangement by which teams whose aggregate payroll exceeds a certain annually revised figure is taxed on the excess amount (or fined). Unlike the other major North American sports, MLB has no team salary floor. The only minimum limits for team payrolls are based on the minimum salaries for players of various levels of experience.
Then, do you think MLB should introduce salary cap?