Often in New York City, I find an additional explanation: The high rents. New Yorkers especially, have to spend a lot for a flat in the metropolis, above all in Manhattan and other trendy areas, like Williamsburg. Not everyone has the income of a CEO of a large company or a hedge fund manager. Many New Yorkers live on a small budget and have to calculate very frugally.
Therefore many citizens of New York City have to give up other things, like expensive food, to be able to keep their pricey flats. I reckon that many New Yorkers eat cheap junk food to be able to stay in the City.
In the language of economics, they make a trade. New Yorkers are trading the joy of eating against the advantages of living in a metropolis which have a higher value for them than quality eating. These advantages include a lot of things like going to a lot of events which are often for free or meeting friends.