Water is a good solvent and is capable of dissolving a number of compounds in it. While this may be a desirable feature in some cases, in others, it may be an issue. For example, certain waters are tough to use for laundry since they do not form much lather. Such water is known as hard water. Hardness is a property of water and is determined by the calcium and magnesium salts contained in it.
Carbonates and bicarbonates of calcium and magnesium causes temporary hardness. Nitrates, sulfates and chlorides of calcium and magnesium cause permanent hardness. It is the presence of these salts that prevent lather formation. Soft water does not contain (or contains very small amounts of) these salts. Rain water is generally soft. The water that you receive in your taps at home can be soft or hard, depending on where you live. You can check if your city's water treatment plant removes the hardness through a softening process. Groundwater can be hard sometimes, depending on the presence of these salts.
Hope this helps.