If there is a salary cap, it won't change the spending habits of mid-budget teams though. They form the majority. So you cut the payrolls of the Yankees, Redsox, Mets and Phillies, everyone else stays the same. The D-Rays will still be way cheaper than everyone else. They'll still lose. Unless they get a genius like Billy Beane.
Caps have intricacies like cap penalties that are hard to manage as well. Teams that have good management right now (mid or small-market) could end up marginalized by that.
And seriously, the A's left KC for a reason. The Marlins are leaving florida for a reason. The Devil Rays should leave Tampa for that reason. Honestly there are prob. too many baseball teams already.
In europe for soccer they have multiple leagues with promotion and relegation between them. It ensures that each team can compete. Teams in small towns are usually competitive in the lower leagues, but they can have a good year and move up to face tougher competition. If you want to have a pro-team in your hometown, this is what we should do.
A cap won't create more baseball fans in Tampa. It won't increase Tampa's population, it won't make it a bigger TV market, it won't level that playing field at all.
In football, almost all of the games are covered under national league-wide agreements. In football all of the teams have similar revenue streams from broadcast media therefore. Also, its' popular in all of the cities where they have teams, so sellout crowds are common, even when a team is awful.
The Jets sold out the Meadowlands (and nobody showed up, but still) and had the 4th worst season in football.
Baseball is a capitalist sport. It's possible to win without spending 100million, but you have to develop young talent and generate enough revenue to support a competitive payroll. The luxury tax actually does more to help teams like TB than a cap would. Right now, a big chunk of their payroll is paid for by the Yankees through lux. tax. If there's a cap, they don't get that revenue.
Salary caps keep football competitive, yes, but Football is a different beast.