You have to add "supporting edges" to you models to make them look goor when smoothed. The nearer edges(edgeloops) are to each other, the sharper that part of the model will look like.
So heres the basic model with Turbosmooth, doesnt look good as I lose my wanted sharp edges on the model
NOW, I am adding edge loops through selecting the edge rings on the model (a proper edgeflow is needed for a good looking high poly model)
There we are, the model looks like it should and the modeller is happy