A common stereotype is that it's because people eat too much, the fact of the matter is is that people's metabolism's don't burn calories as fast as others. This lack of burning calories results in weight gain.
People have many excuses for being overweight (okay, fat). For 90% of them it is too much food and too little exercise. When you talk to your friend, don't so much discuss being overweight, but from a "health" viewpoint. Encourage her to eat more healthy food, less of it, and exercise more. She needn't go into a "workout program" but walk instead of ride, take the stairs instead of the elevator, things like that. And dancing, especially to rock music, is excellent exercise.
I've been fat all my life. I got bullied some. Then I had enough. I didn't get bullied any more. Ya just need to learn to accept yourself and learn to let what others say just roll off. It's only words.
The average person needs only 2000 calories a day (24 hrs) to neither gain nor lose weight. Tell your friend to look up a calorie counter online, using Google, and count up all the calories in what she eats/drinks in one day. Try to cut back on those foods that are high in calories.
A person gains weight when they take in more calories than they burn. This is determined by the persons metabolism (how many calories you burn per hour) everybody's is different. Some are fast and they burn a lot of calories naturally and find it easy to maintain their weight , some are slow and they burn relatively few calories naturally and require a reduced calorie intake and exercise in order to lose or maintain their weight. Unfortunately many of those high metabolism people think they are somehow superior and have the right to to inflict emotional an physical pain on those that aren't. Different doesn't mean better or worst, it just means different. People come in all shapes, sizes, colors, etc. different is just that, different. Accept people for who and what they are. When you don't its called prejudice.