Depression (among other psychological problems) can lead to binge eating disorders. Poor people tend to a have a worse diet due to financial constraints, a lot of cheap food is really unhealthy, packed with fats, sugars etc. They just can't simply afford a lot of healthy foods. Unhealthy parental environment growing up. If you have parents that want to spoil you with rich and unhealthy foods, it will set you up for a lifetime of obesity. And then some people are fat just because they have no sense and self control.