Budapest was beautiful, fun to wander, interesting, and magical at night. The food was good overall, the wine great. Expenses were very reasonable, and we had a great place to stay. AND... to top it all off, the baths!
Vienna seemed big. You want an overpowering sense of place with majestic buildings, this is it. The food was disappointing to OK, wine good, (winery experience wonderful), the public transportation was a dream. The city was walkable, but not as much as the other two. This was the least favorite of the three, but in saying that, I am glad to have stayed there and would recommend you see it some day.
Prague was another magical city, easy to walk and compact, beautiful at night, and affordable. Our room was good, the service great, the food good to great every day and the beer fantastic.
Really, it is kind of a tossup between Budapest and Prague. Maybe the baths, and overall sense of place tip it slightly to Budapest's favor, but not by much.
I'd say, go to all three.