At least in the US where the problem is much worse than in the EU, I would say the major driving factor is the lack of cheap healthy foods.
We're starting to get more healthy options in the US but the problem I see again and again is that food is always painted as "trendy" and therefore commands a higher price. I can go into McDonalds and buy fries and a cheeseburger for around ~$5. But if I try to get a healthier option from another place I'm looking at $10-15 for just about anything.
Every time I travel to Europe or Latin America I'm always shocked at how easy it is to find cheap healthy food. I can pop down to a local fast food place and for around $5 get a piece of chicken, beans and rice. This by no means fancy but it's solid healthy food.