Maybe I'm wrong, but my best theory is that
it's differential expansion between the
steel of the tank and the sediment in the
bottom of it. Try hooking up an old garden
hose to the hose bib on the bottom of the
heater, run it outside, and let it run wide
open at least until the water coming out
runs clear. That may quiet it down a bit
and make it last longer. Annual flushing
like that is something you really should do
to make the heater last longer. The sediment
insulates the bottom of the tank from the
water, which allows the fire to make it get
a lot hotter than the 212 degree limit
imposed by contact with water. That weakens
it and makes it expand and contract farther.
Eventually, it will burn/rust through, though
not all over the whole bottom at once. It'll
get little weep holes that start to leak.
You'll get a sort of steamy smell, followed
by a slow drip, followed by faster dripping.
That's why those Smitty pans under the water
heater are a good idea. Check the age of
the heater, and think about replacing it if
it's near the end of its rated life.
Water heaters are like tires on your car --
replacing them at a time of your choice
before they get really bad is a little more
expensive and a lot more convenient than
running them until they blow. They tend to
choose the time that's least convenient for