We were in Budapest in 1995. We stayed at the Ramada Hotel on Margaret Island(Margitsziget) and we found it great. The only down point is that it's a bit away from the real center,which can be easily reached by public transportation or car. The pluses are: a) a great location in the middle of a park, inthe middle of an island, in the middle of the Danube(great jogging). b)really outstanding breakfasts,the richest we ever had,included in the room rate.They will surely make you skip your lunch and are really A1,I mean it. c)The hotel has its own spa and thermal pools that you can reach by a subterranean passage from your room,and use for free (bath robe is provided in your room).It's a modern facility,nothing to do with the Gellert's,but it's much cheaper! I can't remember the rate ( and it was 5 years ago),but it was a bargain,something around 100 USD Double.
As for restaurants,we did have lunch at Gundel's,the grandest od Budapest restaurants,and the food was great,but you know this places where etiquette is prevalent over the pleasure of enjoing your meal are quite obnowious to me.A good place we tried is on the outskirts of town,actually on Buda hills in Huvosvolgy(we went there with our own car,I don't know if there's public transportation),the name is Nancsi Neni Vendegloje(I omitted all the accents that are plentiful in the Hungarian language).
My travel experience in Prague dates back to 1975 and 1977 so I can't be of any help,just wish you a great time in that wonderful city.