I love the good discussions on the Forum. So many excellent points of view. I always learn something new. So, I will stir the mud with another.
Prague, Vienna or Budapest. They are all amazing destinations, but I suspect each will attract a different interest. So, objectively (rare from me):
For the younger (20 to 30) tourists I would order them; Prague, Budapest, Vienna.
For the older tourist (45+) I would order them; Vienna, Budapest, Prague.
For the arts: Vienna, Budapest, Prague.
For food and wine: Budapest, Vienna, Prague
For good beer: Prague (nothing else comes close)
For a long holiday: Budapest, Vienna, Prague
For a long weekend break: Prague
For living culture that you can interact with: Budapest, Vienna/Prague (tie)
For museums: Vienna, Budapest, Prague
For day trips and over nights out of town: Prague/Vienna (tie), Budapest
For the architecture: it’s a three way tie depending on a lot of factors.
For uniqueness: Budapest, Prague, Vienna
How long each? Prague 2-4 full days, Vienna 3-5 full days, Budapest 3-6 full days
As a stepping off point to see other countries: Prague, Vienna/Budapest (a tie depending on your gravel style.
Vienna has shorter train trips, but Budapest has better discount airlines).
The answer is seeing all three.
Your ideas?