How to subdivide part of mesh but not apply the modifier?
The Subsurf modifier has no controls for limiting it to only part of a mesh. So if you want want to use that modifier, instead of some other techniques listed below, you are left with the top two options.


Split the mesh. In edit mode, select the part you do not want to have subdivided and press P > Selection. Now just add the modifier to one of the two objects.
Keep hard edges. There are many ways to achieve that, holding loops (just edge loops added near important edges) are a common option, but you may be able to use edge creases. This question is a good resource for those methods.


If you don't need to use the subdivision surface modifier then you have more options left open to you though modeling.


Add loop cuts with CtrlR
Subdivide only selected parts of a mesh with the Subdived operator. It is can be found in the tool shelf, from the 3D view header Mesh > Edges > Subdivide, or in the specials menu W > Subdivide.
Knife tool. you can use the knife tool to selectively add more edges where needed (also very useful for controlling edge flow).
Bevel. Can be immensely useful for adding holding loops. It is a great tool any time you need more detail in a specific spot.

Vertex connect Path J is a less common but still useful tool that adds new edges by simply connecting the selected vertices.