here’s a quick article to get you started:
http://gamedevelopment.tutsplus.com/articles/gamedev-glossary-what-is-a-normal-map–gamedev-3893
The main thing about normal maps is that you have to be looking at it straight ahead for it to be effective. Looking at it from the side it will look flat.
Alot of people use xNormal (http://www.xnormal.net/), I get the best results using this rather than the 3d modelling programs.
Here is a tutorial from Eat3D on how to use it, xNormal, and there are loads more on youtube too!