Availability, cost, simplicity, education, culture, human nature.
Heathier options need to be available, particularly for eating out and takeaways. If I want to buy a healthy lunch, I have far more choice in London than I do locally. Availability is driven by commercial factors.
Unhealthy options seem cheaper when eating out. Bag of chips? Burger? Cheaper compared to a freshly made salad with enough in it to compete on attraction with the burger and chips.
Simplicity. Many people know that cooking from scratch with fresh ingredients can be cheaper than buying a ready meal but it takes perceived time and effort. Which leads to…
Education. I didn’t really learn to cook until after uni. Before that I used to heat frozen things. It took time to learn how I could turn a few things into a healthy meal in 20 minutes. But not everyone feels they have the time and energy to do that.
Culture. If I’m in the (London) office with others we’ll go to Itsu 90% of the time, Pret the other 10%. No-one has ever said “lets go to McDonalds”. We’re lucky to have the money, availability and knowledge to pick places with healthier options.
Human nature. We crave fat and sugar. If it’s there in front of me I’ll eat it, so I’ll avoid those temptations.