I have some familiarity with a few of those places (lived in Wurzburg and Heidelberg for a couple years each) so I'll give you my thoughts. Start with Wurzburg, I've always thought it is one of the better kept secrets in Germany, if not all of Europe. It is not big so can be explored in a day but is loaded with interesting and beautiful things and places to see. The Marienburg Fortress and the Residenz are two of my favorite places I've seen in all of Europe but the city itself is just enjoyable to walk around in.
To be honest, I was not very impressed by Bamberg which I know puts me in the minority. Nothing wrong with it, it's nice enough, I just wasn't blown away. I do like rauchbier though, goes great with the local meat dishes.
Despite the tourist hoards, I think Rothenburg is worth a visit - the highlight for me is the kriminalmuseum which gives a fascinating look at crime and punishment in the middle ages.
Heidelberg is a special place but go beyond the Hauptstrasse. As Tom said, go to the Heiligenburg, the small mountain across the river. First go up on the Philosophenweg (there is a path directly across the street from the Old Bridge) for the most incredible views of the Altstadt (old town). I'm surprised at how many people miss this, it's the highlight of any trip to Heidelberg. There is also an old (1600's?) ink sketch of what the city looked like at its heyday before Napolean destroyed the castle. From there hike up to the Thingstatte that Tom described, it's interesting but then continue on a little further back behind the Thingstatte and there is a really interesting find - the ruins of a middle aged monastery. As you go to each section, there is a little sign explaining what the room you're standing in used to be used for. There's also the grave of one of the monks that's about 1,000 years old. I think the monastery is called St Michaels? Tom can probably help me out with the name. It's really cool to see though. If you want a restaurant recommendation for Heidelberg, you could do a lot worse than the Roten Oxen (Red Ox) for really good German food and ambiance. That was our favorite place when we lived there.
Have fun!