Prague is one cool town, blazed. Lots of places in Europe have an "Old Town" part. Most of Prague is old town...it is a great city to wander in and soak up the atmosphere. Budapest is similar, but the old town feel is confined to the area around the Danube, especially the hilly Buda section overlooking flatter Pest. I think you'll find a livelier scene for the visitor in Prage (plus the cheapest beer I've ever found...oh, about 28 cents!).
I haven't been to Croatia, but I'd like to (see, as Dio says, WWM sucks). I think you'll find all three fairly crowded during later June and July. I imagine you can go without reservations in May and the very beginning of June, but if you see things starting to fill up while you're over there, I'd jump online and start making reservations for places in July (once you decide a rough itinerary).
Check out my travel web page at:
"Life is not measured in the number of breaths we take, but by the places that take our breath away..."