What's the difference between $|\nabla f|$ and $\nabla f$? what's the difference between $|\nabla f|$ and $\nabla f$ for example in :
$$\nabla\cdot{\nabla f\over|\nabla f|}$$

$|\nabla f|$ is the magnitude of the $\nabla f$ vector. The expression $\frac{\nabla f}{|\nabla f|}$ is thus a unit vector.
$\nabla$ (gradient) acts on a scalar to give a vector, and $\nabla\cdot$ (divergence) acts on a vector to give a scalar. 
