Is it maybe:
Earth (dog), Sun (man), and the Moon (cake)
Every night a man makes a cake and eats it.
Every night the Moon rises, visible because it reflects the Sun's light.
Sometimes he makes a half a cake, and sometimes none.
The Moon is not always full, and there are also moonless nights.
Every few years, the dog comes to eat the cake,
We have eclipse of the Moon every now and then, when the Earth comes between the Sun and the Moon, and throws the shadow on the Moon.
But very few times does he eat all of it.
But rarely it is a full eclipse.
Then the man comes and chases the dog off to make another,
When the eclipse is done, the Sun again lights up the Moon. :)