Two numbers should explain the need for a MLB salary cap:
New York Yankees: $435,500,000.00
29 Other MLB Teams Combined: $533,432,500.00
Those numbers are how much was spent on free agents so far. The Yankees are one signing away from exceeding the rest of the league combined.
Someday they may learn you can't buy a championship. Although they do own more championships than any team in MLB history by a wide margin.