If you subdivide an object, it won't automatically appear rounder. It can create angles and ugly surfaces. For example if I have a sphere and decide to W > Subdivide it, as it will create edge loops in the strict middle of existing edges, it will tend to create flat surfaces.
If I W > Subdivide Smooth, though, I won't have this problem as it will try to respect the existing shape.
That said, you don't always get benefit from subdividing an object, except if you need to export for games or other 3D softwares I guess, can't you leave it as it is, keep a simple mesh and don't apply your Subsurf?