The answer to 'why is my water heater not heating' is that there are several common causes, including a faulty thermostat, a broken heating element, sediment buildup, or a problem with the pilot light or gas supply. Symptoms may include no hot water, lukewarm water, or water that takes a long time to heat up.
If the water heater is not producing any hot water, the first thing to check is the pilot light. Make sure it is lit and the gas supply is turned on. If the pilot light keeps going out, there may be an issue with the thermocouple or gas control valve that will require professional repair. For electric water heaters, the heating element may need to be replaced if it is no longer functioning properly.