This tutorial gives some information and examples for using the Mesh Snap to Grid and Mesh Snap to Mesh options in Version 2.43.
Blender Grid Snapping
Based on Blender units, you may use Ctrl while transforming (extruding, scaling etc) to snap to the closest gird line/even decimal points.
Using Ctrl will snap in 1 blender unit, or grid line. You may want to snap toward a grid line in a smaller unit than 1. To do so use CtrlAlt⇧ Shift and you can snap toward a grid line in tenths of a unit.
You can tell when blender changes from using 1.0 snapping to 0.1 snapping when the grid divides itself into tenths. Furthermore, if you zoom outward the grid will change to measure by tens and even hundreds, etc. Extrude + Ctrl uses the grid size by default.
If you need/want more precise control of the distance of your extrusion you may also just type in the distance. 1.5 gives 1 1/2 units distance of extrusion.
On Mac, enter the number 1, press fn with the key that is right under Lkey and Mkey on Azerty (the one with /:,), and press the number 5).
Notes: While scaling, if you are scaling to 2 and you stop scaling at 1.8 and go back to finish scaling up to 2 the counter starts over again at 0 when you start. It is best to undo CtrlAltZ and restart your scaling again.
Blender 2.43 Mesh Snapping Functions
Blenders new snapping functions only work on one object in edit mode
To enable the mesh snap functions use the ⇆ Tab key to enter edit mode in the 3d view and click the magnet icon in the header illustrated in "Enable 2.43 mesh snap options". You can toggle Snap Tool with Shift+tab key.
There are three steps to snap the working mesh to any vertex on the object currently selected:
1. Make your selection - any vertices, edges or faces may be used,
2. Initiate the transformation using the keyboard or mouse gestures and hold the Ctrl key down while moving to the destination vertex, and
In the following illustrations snapping vertices are on the left, snapping edges are in the middle and snapping faces are on the right.
In illustration "Snap using Closest option" the vertices have been selected and a transformation using the G key (Grab) has begun.
As the cursor gets close to a vertex a small circle appears showing where the snap will occur if you click the LMB and stop the transformation, illustrated in "Circle delineates where the snap will occur".
In illustration "Circle delineates where the snap will occur" look at the center mesh. The bottom vertex of the edge selected will be snapped to the bottom right corner of the mesh below.
But in illustration "Another example of snap using Closest option" on the center mesh, snapping will occur between the topmost vertex of the selected edge and the middle vertex in the mesh below.
Illustration "Center snap option used" uses the Center option for snapping:
As you would expect the center of the face and the edge snapped to the vertex closest to the cursor. All single vertices were selected in the mesh on the left for the snap. Choosing just one vertex for a center snap would just snap to the vertex closest to the cursor.
Changing to the Median snap option is illustrated in "Median snap option".
Transforming a plane using Median is the same as using Center snap. Note on the mesh on the left the middle vertex and the top right vertex are selected instead of a single vertex.
All of the above options work the same while using Extrusion (E key) enabled instead of Grab (G key).
In Blender "2.43 Closest and Median work with translations and rotations, while Center relates to translations only." Quoted from 
Blender 2.46 AutoMerge for Snapping Tools
AutoMerge is a Snap Tool Mode. It removes the doubles when you snap 2 vertices.
It can be activated through 'AutoMerge Editing' in the mesh menu.
You have to activate the Snapping Tool (Shift+tab key) in order to use it. For more details look previous section.
Using Mesh Snaps with XYZ Constraints
There are 5 steps to snap a mesh using XYZ constraints to a destination vertex on the adjoining object:
1. Select a vertex and place the 3D cursor on it, 2. Set the pivot to 3D crusor,
3. Initiate the transformation and select the axis for the tranformation,
4. Hold the Ctrl key down until you reach the destination vertex, and
One object consisting of two mountains (or one object of two futuristic cars in a parking lot?) is used for the following illustrations. The mountain on the right must be moved behind the mountain on the left. However the move needs to maintain the lateral distance behind the mountain on the left because there is a river between the two mountain ranges.
So, to begin, select the left-corner bottom vertex on the front of the mountain to be moved and choose Mesh->Snap->Cursor to Selection, illustrated in “Mesh->Snap->Cursor to Selection option”, to set the 3D cursor to the selected vertex, placing it on the XZ axis along which you want to move the mountain.
Set the Pivot to 3D cursor illustrated in “Choose the 3D cursor option.”,
Start the move by pressing the G key and apply a constraint to the XYZ plane by pressing ⇧ ShiftY to eliminate the constraint on the Y plane. Illustrated in “Setting the XZ plane constraint”.
Press and hold the Ctrl key while you move the cursor to the front left vertex of the mountain on the left (on the right in the illustration) and click the LMB when the tiny white circle shows on the destination vertex. Illustrated in “Snap completed”.
Done! The mountain maintains it's lateral position behind the other front mountain as displayed in the front, side, and top views below: