It's simple. The MLB Draft, unlike the NBA and NFL Drafts, is not about need. If a team has two potential All Star 3Bs in its system and the best player on the board when they pick is a 3B, they should still take the guy. The reasoning is fairly sound... 1) Depth is a team's greatest asset. You never know when a player will slump horribly, regress, or get injured. A good example of this paying off for a team is what happened with the Phillies when Ryan Howard was starting to break through despite Jim Thome blocking him. Thome had a down year and Howard picked up the slack in impressive fashion. Moreover, thanks to Howard doing so well, the Phillies were able to trade Thome for a decent package. 2) On a similar note, this kind of depth adds flexibility in terms of trade value. A good example of this is what happened with the Braves this year. Brian McCann was blocking Jarrod Saltalamacchia despite both having very good ceilings. So, Atlanta went with the more polished Catcher and ended up trading for Mark Teixeira, one of the best young hitters in baseball, using Salty as the major chip. 3) Finally, if a player really is good enough to play in the majors on a regular basis, a team will find a way to play him regularly. If Vitters turns into the hitter everyone hopes he'll become, he'll have a bat that'll be good enough to be used at pretty much any position. Now, you can argue until you're blue in the face over whether Vitters was the right pick talent-wise compared to someone like Wieters, but those three things I outlined above pretty much apply to any potential draftee. Drafting out of need is just a mistake in baseball.