The heightmap is used for parallax mapping. This gives the illusion of bumps potruding in/out of the mesh and overlapping each other at about a 45 degree angle, but once you look at it at more than 80 degrees or so it is flat.
Nvidia also has a shader that looks even better than parallax but runs slower and bumps outside of the rendered mesh are clipped off. Both of these can't make the bumps extrude beyond the polygons that are rendered.

At the moment I could not find a parallax mapping shader that supports specular maps, but it should be simple to change the shader to support it.
There are normalmapping shaders on the wiki that support specular maps in the alpha channels of the normalmap. If you have the specular map in a different file you would need to put it in the alpha channel of the normalmap.