Another foodie here:
For your average international dining the cities are quite equally matched actually. When looking at Prague I see a city that has made huge inroads in dining options and availability of great ethnic cuisine over the last years. Maybe the comment of Prague being "hip" has to do with it, as compared to my first few visits I see a much bigger variety in both dining options and bars. But as Czech food (however tasty it is!) is not that much special as it is quite similar with what you can find in surrounding countries, I would go for Budapest on this aspect. There are a lot of spices, dishes and small bites that you won't see anywhere else. It's a great culinary discovery, do try at least the following two typical Hungarian street foods:

Kürtőskalács - or chimney bread, eaten either plain or (most tasty) with a topping (all kinds of nuts, vanilla etc. etc.). It's actually originally from outside the nowadays borders of Hungary (from the ethnic Hungarian community in Transylvania). Delicious. Do make sure you get it fresh from the grill, as pre-packaged it can be chewy and tasteless.

Lángos - a deep fried flat bread, usually with a topping of cheese and bacon.
Apart from the food another reason to chose Budapest: in my honest opinion the city is slowly getting overrun with tourists and is slowly losing a lot of its charms. The stag-party level is nowadays the equal of Prague (that city to me is actually improving somehow on this, if you visit out of summer!). Where ten years ago you could be one of the few foreigners in your average Budapest ruin pub, nowadays (certainly on the weekends) it can easily be an all-foreign crowd. It might easily get much worse.