'Why' is such a loaded question and I really don't know the answer.
But I do truly believe that over eating (both crap and healthy foods) and lack of any meaningful amount of exercise, is as much a cause of obesity as poverty is.
The borough I live in is not only one of the most deprived in London but it's in the bottom 7% of the most deprived in the country.
Poverty, adult and child obesity is rife here and yet I can still look around me and definitely equate obesity to the sheer volume of food that many overweight people consume, compared to those who aren't overweight.
That's not to say for a second that the slimmer people are any healthier, but in general they do eat less and exercise much more.
Last year I went to a borough football tournament, with 120 boys and girls who regularly played football for their schools.
Out of 120 kids, I can honestly tell you that just one child could be described as 'a bit overweight'. All the others were slim (or 'skinny' as some people now see it).
That's 119 slim children from one of the country's poorest boroughs, who regularly train and exercise - yet many of them will have poor diets (I've been witness to some of them).
Looking at the parents/carers/grandparents was a totally different picture. Many of them were overweight and obese (as were a few teachers).
So being too poor to afford quality food isn't good for your general health, but it really doesn't mean it's inevitable that you will get fat.
And I think it's important that people know that.