People are overweight either because they eat too much food or they eat the wrong food (too many processed foods, too many sweets). But it is not for lack of knowledge of what to eat, and this is a crucial point. Most overweight people could write a book about nutrition and what they "should" be eating. They know what to do, but they don’t do it. Why?
It’s not that fat people are weak or morally deficient. It’s that there is a compulsive aspect to overeating. Part of it is the physical effect of processed food – sugar, salt, and fat. But this isn’t the whole story, and it’s not even the biggest part of the story because people can and do learn to eat moderate amounts of these types of foods.
The main reason for overeating is emotional eating – stress eating. And here’s the thing: dieting can’t fix that.