Baseball does have a salary cap...it's just an ineffective one because the penalty for breaking it is monetary...so teams like the Yankees just go (way) over the cap and pay the penalties on top of that. There is little motivation to change the rules because hating the Yankees is about the only thing that is interesting about baseball more...except waiting for Bond's head to blow up.