I've stayed at the Marriott, Intercontinental, and the Sofitel in Budapest.
I absolutely hate the marriott. more expensive than the other two and a really old hotel.
The Sofitel had the most comfortable bed I've ever slept in and reasonably priced.
The Intercontinental was great as well, fantastic breakfast buffett.
All Three are located right downtown right next to each other.
In Prague, I stayed at the Marriott Executive Apartments, which were roomy and somewhat close to downtown.