However, there IS a way to get essentially "free" hot water- buy a marine water heater with a coolant loop in it. This diverts some of the flow from the engine's cooling system (the fresh water or antifreeze side) through a pipe in the water tank, and heats the fresh water in the tank. Some advantages:
1) VERY hot water- 180 degrees, meaning you don't need much of it for showering and doing dishes, as hot as you can stand.
2) no cost to you. The energy that is heating the water heater would just go out through the cooling system otherwise.
3) available as long as the engine or generator it is hooked to is running.
4) stays hot a long time. Since most water heaters are located in the engine room anyway, when you are running the boat, it is hot in there, so the water heater loses heat a lot more slowly than you'd think.
5) heating element is always available for when the engine/genset is off.
Disadvantages:
1) water is HOT. REALLY HOT. It can burn you. And you can't turn the temp down- although you CAN get a tempering valve which will mix in some cooler water as it comes out of the water heater, and bring it down a bit.
2)more plumbing (a problem at least in theory, although I have not had problems with it.)
3) people will think you are a cheapskate.
4) people will think you are a sailboater or trawler owner. See item #3 just above.
Seriously, I have had this setup for a long time and it works VERY well. Incidentally, the recovery time for the water heater is VERY quick with the engine or genset running. Evidently there are a lot of BTUs in the engine cooling system just waiting to help you take a Hollywood shower on your boat.