Update: Kek wrote an article here that deals with the same topic much more eloquently.
I read this somewhere and I have been trying to find it again but I can't so you will have to do with my sketchy paraphrasing.
As dieters, or whatever this thing is that we are doing is called, we beat ourselves up when we give in to eating over our calorie limit because we think we have no willpower.
The amount of food our body needs is physiological rather than mental. We should liken it to sleep.
If we need 8 hours sleep and we only have 6 hours one night our body is in sleep deficit. We can cope with a small deficit quite well (maybe 7.5 hours instead of 8) but once we start severely restricting how much we sleep, we are in trouble. No matter how much willpower we try to exert over our bodies, eventually, we will have to make up our sleep deficit. Try going without sleep altogether and see how long you can last before your body demands sleep.
It is the same with food. When we put ourselves in severe calorie deficit for an extended period of time, our body releases hormones and chemicals (or hokey pokey witchy black magic - I can't remember what exactly) that make it impossible to ignore our hunger or nutritional deficit any more. No amount of willpower will change that.
So when you don't supply your body with at least enough calories to carry out basic bodily functions (less than your BMR), you body will rebel and demand to be fed. You will break your diet and fall off the wagon.
It has nothing to do with being weak or undisciplined, it is a physiological response to a very real physical need.
Of course some people (anorexics) can overcome their physiological need to eat but they are wired differently to the majority of people - like insomniacs. But, in my limited experience, most insomniacs wish they could just sleep like a normal person.