Bumpmaps are textures that make flat surfaces appear 3-Dimensional.
It's mostly used together with an Envmapmask, to achieve maximum detail on a model, without actually modeling it.

All you need is a texture editing programm with the vtf plugin for it and VTFedit.
You could use special bumpmap creators like the pgotoshop plugin, SS_Bump, Crazy Bump or other stuff. But i prefer VTFedit, because the photoshop plugin is a pain to work with and the other two require scaling the image down to 1024x1024, the result WILL be a bumpmap, but it lacks detail