I've never gotten why there NEEDS to be a salary cap. If you're of the opinion that a salary cap would be good, that's one thing. But explain to me why there needs to be one? The Yankees consistently have the highest payroll in baseball and have won one championship since 2002. They also completely missed the playoffs in 2008. This year, teams 2 through 4 in salary didn't even make the playoffs, and one of them (Red Sox) were not competitive at any point in the season.
One of the reasons I probably follow baseball more closely than any other sport is the ability of many teams to keep their players if they have the money. I realize it sucks for smaller market teams to lose their guys so often, but guess what? That would likely happen no matter what the system. I hate watching a championship football team get the meat picked off their bones, because the value of their players skyrocket, and they can't afford them anymore. I could at least stomach a soft cap. A hard cap? No thanks.
At the end of the day, it doesn't matter, because the players union in baseball is too strong, and they would fight it to the bitter end. It's a battle the owners don't want, especially considering business is so good, and there's parity despite the bitching.