Crazybump, Shadermap, and desaturating the diffuse map may give good results some of the time, but usually it's purely coincidental.
Think about the actual real-world surface of the model. Is it evenly shiny all over? Is it "speckly" when light hits it? For example a material like leather is not evenly shiny, so you would use a noisy spec map to break up the highlights. Are the highlights white like plastic or wood, or are the highlights colored like polished metal? A gold statue would need a gold colored specmap, but perhaps it is tarnished where people have touched it, so you would need to darken those dirty areas on the specmap so they don't shine as much.
Just observe the real-world equivalent for the material you are trying to emulate, and that will give you all the information you need to make a specmap.
----------------------------------------
"bond1 - You see this name, you think dirty."