Hard water and soap scum build up can require two separate approaches.
Hard water mineral deposits generally are calcium based and can be removed with acids. The strength and type of acid depends on the surface being cleaned. Glass, I recommend...in ascending order of strength... vinegar, lemon juice, or mild to med. strength phosphoric acid, well diluted hydrochloric acid. Any stronger will start to etch glass.
Plastics and fiberglass are pretty tough and can take med strength phosphoric and hydrochloric acids.
Painted finishes are somewhat delicate, multiple applications of mild to med strength phosphoric would be my choice.
Limestone and marble will etch with the mildest acids. If its a polished finished, you're pretty much screwed, though re-polishing is possible, just expensive. Most other natural stones are not acid sensitive and milder solutions can be used.
Ceramic tile can take a relatively strong acid, but the grout is acid sensitive, so again, fairly mild solutions of phosphoric or hydrochloric will work.
Raw metals and stainless steel can stain from acids depending on strength of acid.
Always neutralize afterward with baking soda or ammonia.
This is the product I use for anything that needs something stronger than vinegar or lemon juice. Its a fairly strong concentration so I dilute with water for appropriate strenth to the task. It can be found in the paint dept at the home centers.
http://www.homedepot.com/p/Klean-Strip- ... /100406369
Another excellent general household purpose product is a cleanser called Bar Keepers Friend. Its an old time cleanser with oxalic acid that does an amazing job on textured fiberglass.