Most people do not know this but Home Depot actually can do this for you if you have one nearby. Roto-Rooter is also a well known place to do this job.
It can be something as simple as that they are broken and needs to be replaced. Or the internal spring holding it could have worn out as well and also needs to be replaced.
It is most likely the water heater. More specifically, the anode in the water heater likely needs to be replaced.
If it is water you have a plugged condensation drain line that needs to be cleaned out. If it is engine coolant you have a leaky heater core that needs to be replaced.
The Thermostat and Temp and Press Valve is faulty and needs to be replaced. or the PRV (pressure reducing valve) is dirty and must be replaced
Inspect bottom of tank by looking through combustion chamber. If water marks or heavy rusting is noticed or if water is noticed setting in combustion chamber bottom, then the water heater needs to be replaced.
Your heater core is leaking. It needs repaired or replaced.
Check the heating elements in the water heater. These may be bad and need replaced.
the heater core is leaking and needs replaced
the heater resistor needs to be replaced it is mounted in the heater box next to the blower motor
Heater Core is going out and needs to be replaced.
If the heater is not working in your Eddie Bauer edition Ford Expedition, your heater core is probably junk and needs to be replaced.
sounds like your coolant lines, heater core, or both needs replaced. i just replaced the heater core in my truck with the same problem