Just the mere word diet implies something you do temporarily. 
So, you diet AGAINST your normal patterns of behavior which are in your subconscious mind. You may lose a little weight, temporarily. But you see, because your subconscious mind likes to keep things consistent it will regulate your body to go back to what it was doing before the diet. Isn’t that true?
Your subconscious mind holds all your unconscious beliefs, beliefs you may not even know that you have. These are the beliefs that keep the weight on your body.
The subconscious is NOT a bad guy. Well, no one is really at fault when it comes to your weight. Your subconscious just does whatever it is programmed to do. It has received bad programming, through the suggestions it picks up through your five senses; hearing, seeing, taste, touch, smell. Plus your habits play a big role as do your emotions.
So, no matter how hard you try to break a habit at a conscious level of mind, your subconscious mind is much more powerful and will win you over, eventually causing you to go back to what is considered normal for you.
This is definitely NOT because you are weak willed by any means. It is just the way our brains function best for us.
For example: Let’s look at anything that you learn how to do. Eventually these things becomes a program, that is hard-wired into your subconscious mind, which frees up your conscious mind to do other things, primarily analyze, make decisions, and learn new things. Can you imagine if you had to rely on your conscious mind every time you need to remember how to drive your car, write a sentence, type, read a book, speak, or play sports? Remember when you first did these things? They were completely conscious endeavors. Now that they have formed into existing behavior patterns within your subconscious mind, they are there for you, without even thinking about them.