One reason that diets don’t work is that they promote all-or-nothing thinking. If you’re “on a diet” sometimes, then it follows that you will eventually be “off a diet.” For most people, being off a diet doesn’t mean balanced, healthy, normal eating. 
Why? Because diets don’t teach you how to practice balanced, healthy, normal eating. Diets are restrictive in terms or portion sizes and/or “allowable” foods. Many also involve foods and menus that may be a far cry from what you normally prefer in terms of taste, cooking style or cuisine. 
In other words, they are too far removed from your “normal” eating style to help you find a maintenance middle ground where you can happily hang out as a “normal eater.” To eat normally is to enjoy a balanced diet that nourishes the body, satisfies the tastebuds and offers healthy doses of pleasure and comfort. Its intuitive rather than being based on rules. “Should” and “should not,” “good” and “bad” are not the primary determinants of what you put in your mouth. That is SO unlike the diet mentality!
When diets fail, they contribute to unhappiness and feelings of personal failure. One reason that diets fail is that failure to teach us how to be normal, healthy eaters. Another is that diets lead to feelings of deprivation. Some people respond to this deprivation by eating a single cupcake, or other “forbidden” food. Others respond by eating a dozen cupcakes. In susceptible people, this can lead to binge eating disorder.
I had the opportunity last week to watch a web interview with Marsha Hudnall, MS, RD, CD, co-owner and president of Green Mountain at Fox Run, a woman’s healthy weight retreat in Vermont. She talked about “why dieting doesn’t work, and what to do instead.” She also discusses these ideas in the post “Sign our declaration of independence to stop dieting” on the A Weight Lifted blog, which references “40 reasons to stop dieting now.” Some real food for thought.