Why even draft good players and spend money on them and facilities only to see them bolt after a couple seasons in the majors for more $. Money is going to ruin baseball sooner or later and that is why I do not get excited that much over MLB anymore. It is getting too difficult to keep track of the players and especially the players that come up through the Indians minor league system.
Under the current collective bargaining agreement, teams can "control" players for more that a couple years. For example, the Indians paid Choo $390,000 in 2008, $420,300 in 2009 and $461,100 in 2010. Then for 2011 Choo became eligible for salary arbitration. To avoid arbitration, he and the Tribe agreed to $3,975,000 for 2011. Happened again for 2012 when they agreed to $4,900,000. Then they traded Choo to the Reds, who agreed to pay him $7,375,000 for 2013, his last season before becoming a free agent. So, in sum, the Indians had Choo for 5 pretty productive seasons (who knows? They might be his best years?) for just a tad over $2M per year. A bargain compared to any free agent contract.
Small market teams can still compete....but they HAVE to sign/develop young talent (read "cheap") to do it. Sadly, the Indians have pretty much sucked at doing it. The brief period where they were successful (Bell, Lofton, Thome, Ramerez, Alomar, Vizquel, etc.) at developing talent they were able to compete with anyone.