People eat either to fill a missing space in their life or to sooth themselves for their inefficients. A person may also eat to much because it is their way of dealing with stress. So, for some people, if they stop eating too much they may become addicted to drugs or alcohol.
The truth is is that people eat to much in America because there are so many artificial stresses, such as ridiculous work/school loads, must be coped with with artificial means, aka way to much food or drugs/alcohol. Sadly, people will always continue to use these artificial coping mechanisms (NO! In case no one realized, food is not available in copious amounts in the "wild" and it is actually not healthy to be full at every meal!) to deal with their lives as long as society the way it is. If you want the answer for why people are fat, just look at the fattest country in the world (AMERICA- although the UK's catching up!). America and the UK are the most buisness oriented, fast paced, well "developed" countries in the world and they've got the fattest people. Why? Because the way people live simply is not natural.
So, inconclusion, if everybody wants to keep living the way they do, making progress etc, their going to have to dealing with the consequences. Those consequences being nasty little habits, such as eating to much, which people must use to keep from going nuts (although most of us are nuts anyways).