Subdivision Modelling
The heart of the concept is that we are no longer modeling at the vertex level, but instead modeling a ‘control cage' that drives a higher resolution subdivided result. Here, the cube is the control cage that drives the subdivided version of it within. It's the outer cage that we're manipulating, not the subdivided result:

The biggest hurdle to overcome starting out with subdivision modeling, is how to control the output, since its not really a ‘what you see is what you get' technique. There's an element of prediction of the outcome involved which, with practice becomes second nature. You gradually begin to learn to predict how the smooth algorithm will affect the geometry. To explain, smooth a cube. Go to polygons>smooth. The settings should generally be set to subdivision levels1 ( or 2 or even more for a final render ), continuity 1, and smooth UV's on. However, the result is simply an uncontrolled blob:

However, introduce extra edge rows close to the edges of that cube, and the smooth algorithm simply has no choice but to obey their existence:

It's a hard concept to explain, so the best thing to do is to play with it. Some people like to use the ‘smooth proxy' function instead of using smooth, which is the exact same as smooth, but it will automatically place your control cage and subdivided result on different layers so that you can quickly view the smoothed and unsmoothed versions. There are in fact many different tools and setups that people use in subdivision modeling workflow to distinguish between their control cage and its smoothed output. In Maya, the most obvious are simply 'smooth and undo' ( speaks for itself. quick and dirty ) and 'smooth proxy'. But there are some great additional scripts such as smooth proxy side by side , CPS and I'm sure many more. It really comes down to personal preference.
There are often no strict rules in modeling, but loosely, these are some general requirements for successful subdivision type modeling:
1) The control cage should be where possible left as quads. The smooth algorithm simply works better with quads. It's a mathematical fact that the smooth algorithm will always turn a model into all quads, but the more quads it has to deal with than triangles, the smoother the surface tends to be. If a control cage is 95% quads, then that's doing OK. But more is better.
For example, If I smooth this triangulated cube, my topology becomes a mess ( and therefore how light bounces off the model will be equally messy ) :

ADVERTISE
But note that If I smooth this cube that is all quads, my outputted topology is much cleaner:

2) Try and keep the control cage as light as possible. And similarly, don't let your mesh get too dense too quickly. Make sure you are fairly sure of your basic structure before committing to finer detail.
3) Avoid long narrow polygons.
4) Once you have subdivided your model, NEVER delete your history. You always need to retain a version of your model in ‘low res control cage' form. Once you have subdivided, there are now way too many vertices to edit the mesh at the vertex level, rendering that mesh practically un-editable.
5) The principles of ‘edge loop' modeling need to be grasped. Particularly with modeling faces. Very roughly speaking, edge loops represent muscle groups, but moreover, they represent the sub forms of the model that can be manipulated to most quickly define the overall silhouette and contours of the model. Refer to Bay Raitts page ( of Weta digital and Gollum fame ) to see an overview and far better explanation of ‘edge loops' here
Moff Tarkin's edge loops. Mouse over the image to see before and after the smooth algorithm is applied. Note how the resultant geometry is 100% quads even though some of the initial geometry is not :

It's worth noting that I built this geometry much before writing this tutorial, and when I look back on it I really don't like the look of the abrupt termination of some edge rows in the middle of his forehead there. Whether or not it is the 'done thing' to leave n-sided polygons in a mesh thats intended for smoothing is an ongoing debate in CG modeling. There's a huge thread on body mesh topology on cgtalk here. The thread starter was none other than Stephen Stahlberg, who sits firmly in the camp of it being OK to leave non quad polygons in the base mesh.
tip: If you decide you want to be really anal and ensure that your model is 100% quads ( and there are some reasons that you might. Some renderers insist on all quads for instance ) , export as an obj into Wings3D and Select>By>Faces With 5 or more edges. By the way, If anybody knows a way to check this in Maya I'd love to hear it!
tip by Robert Kopf : that it ISpossible to detect non quad faces in a mesh in Maya (beside using a script or so..) You can set the Polygon -> Cleanup funktion to select, rather than cleanup specific faces. Set the options to select Quads, inverse the selection and there you are, very useful to find and eliminate the last Tri or N-gon.