I rarely argue massive generalizations like "[name of city] has bad food", but I am willing to die on this hill.  Houston sucks.  I am sure that the 4th biggest city in the country has some restaurants that don't suck, but overall, it sucks for food.  I had a great lunch in downtown Houston at a place that must have cost $100 a plate for lunch 8 years ago.  It was a perfectly fine lunch, as you would expect from a place that charges $100 a plate.  What makes a city's food terrible is when the vast majority of the regular places suck, and they all sucked when i went there.  Pro tip: NEVER order pizza in the Confederacy.
When a city has great food, you can walk into some random take out place and it is awesome.  Take Chicago.  I ordered BBQ on the South Side through bulletproof glass that must have been 2" thick, and it was incredible.  Another time, I stumbled up to a burrito take out counter in Bucktown that was so small that only about 5 people could stand in the place to order, then you had to wait outside for your food.  In freaking Chicago.  In the winter.  The there was a big crowd at the place at 1 am.  My burrito was $6 and is still the second best fast food Mexican I have had anywhere else on earth, including Mexico.  The best fast food Mexican I have ever had was a burrito shop in Lincoln Park.  I went to a sports bar by Wrigley targeting tourists, and it is still one of the best philly steaks I have ever had.  THAT is a city with great food.