Healthy food is unbelievably dirt cheap in the US and available almost everywhere but it takes a lot of time and effort to prepare it. When you are working 60+ hours per week, that isn't always an attractive option. Poor people can afford healthy food.
Tangentially, the common definition of "food desert" improperly and tacitly conflates expensive food with healthy food. You can eat a very healthy and more importantly very cheap diet while living in a nominal food desert. Poor people can't afford boutique organic heirloom tomatoes so they don't sell them where poor people live. Frozen and canned vegetables are perfectly nutritious and cheaper substitute -- and I can vouch that poor people eat these in abundance -- but for the purposes of labeling an area a "food desert" they don't count.
There's also a bathtub curve I think. Bulk carrots, onion, potatoes, and celery are cheap. But as you move up the scale it starts to be not-cheap, with spices, shallots, olive oil, garlic, leafy greens, organic anything (which has been shown to be healthier long term). I cook from scratch and shop savvy but, perhaps partly due to cuisine and partly caloric needs, struggle to keep it in the $300/mo range I hear some couples and small families manage.
http://americannutritionassociation.org/newsletter/usda-defi...
Calling a place a "food desert" because people choose cheaper vegetables with less spoilage risk is condescending and easy to say from a position of economic privilege. I know an urban 1%-er that still eats canned green beans -- she loves the taste, having eaten them as poor child (I detest them, though for the same reason).
I'm gonna go out on a limb and guess that most of the 40% who didn't eat out are lower income, and income has some correlation with obesity. Eating cheap, processed food is going to make you gain more weight than occasionally eating out. Sure, there are lots of wealthy people who eat out frequently and don't exercise, but there are a lot more poor people who can't afford to buy healthy food and don't have time to exercise.