We recently had to replace our water heater for our home.  While the plumber was here, I asked him about the effectiveness of a water heater blanket.  He said that water heaters are designed with internal insulation, so unless you have a very old water heater, it is a waste of money.  They cost anywhere from $20-$50.  
He said to touch the drum.  If it feels very hot to the touch, you may have an old unit and may need to cover it with a water heater blanket.  
Water heater blankets are available for both gas and electric water heaters.  However, he cautioned ever putting one on a gas water heater.
 
