The reason why you see this temperature fluctuation from the fixed setting on your heater is due to ambient room temperature. When a room gets colder than the tank temperature your heater tries to bring the temperature up to where you set it. The heater is only rated to bring the temperature up by a few degrees for a specific volume of water even when the heater is constantly ON. So if your heater is underpowered it will never be able to maintain 78F if the room temperature is too low. It will always be lower than 78F even though that is where you've set it. In actuality you've set the thermostat higher than 78F but since your room is colder, your thermometer will read 78F. That's why in the summer you have to turn it down because it was actually set higher than 78F so to get 78F in the summer you'd have to set it to the actual temp of 78F. I hope that makes sense. Most modern high quality heaters have thermostats.
It works the same way as chillers which can only cool a specific volume of water a specifc number of degrees.