There are three primary snapping modes:
1. grid (x)
2. vertex (v)
3. curve (c)
They all operate the same way.
1. start by selecting a vertice to snap
2. then press and hold either x, v, or c-key down
3. move the cursor over a grid line or intersection (x), a vertex (v), or a curve/edge (c)
4. then middle-mouse-button / gesture (press the middle mouse button and move the mouse) and the vertex from step one will snap to the grid, vertex, or curve.
You can restrict the snapping along an axis by first selecting one of the three axis handles on the move manipulator (it will highlight in yellow) before following the steps above.
Also, for the snap to curve, if you continue to hold the middle mouse button down you can slide the selected vertex in step one up and down the edge or curve.
"If I have seen further it is by standing on the shoulders of giants." Sir Isaac Newton, 1675