Time to prepare: fresh foods generally take a lot longer, and a lot more effort to prepare than processed foods. When you've got each available parent working two jobs then this is a huge barrier.
Knowledge of preparation: especially in immigrant populations, not everybody has access to the ingredients they're used to.
Knowledge of nutrition: it's not like life comes with an instruction manual, and if you got little to no nutrition education, you probably don't realize the impact of those empty calories.
Fussy Kids: people who appeasing fussy kids (yeah yeah yeah... the hardos without kids will say you should just force them to eat it. Life isn't so straightforward.)
Waste: this is a huge factor. If you've got a tiny amount of cash and you need to spend it on things that will ensure you wont starve, something that will potentially go bad in a few days is a risky proposition, so you tend to stock up on heavily processed shelf stable items.
Price: Cheap is in the eye of the beholder. You can get a whole bag of chips for the same price as 2 apples. When you have a REALLY borderline income, your "cheap" is a lot different than someone else's.
There's plenty of other factors. Check out the research on it for more info. Really interesting stuff to dig into.