most people buy bikes that are too small for them. Bike shops tend to size people according to old lore which unfortunately puts your body in a pretty uncomfortable position. I'm a big fan of bigger frame sizes and getting fairly upright. Unless you're racing, the only thing you have to lose is sore wrists and arse.
For instance I'm 6'1" any I usually go for about a 62cm frame. Back in the day I used to race a 58cm Davidson Stiletto. Big difference in comfort between the 58 and 62. The Salsa I just ordered is a 59cm but due to the sloping top tube is effectively a 62cm frame. Top tube length is another consideration, but a higher rise stem can help to bring that back towards you (and again, will increase comfort).
http://www.rivbike.com/article/bike_fit/fit_sizing_position
http://www.rivbike.com/article/bike_fit/choosing_a_frame_size