There are a lot of options for your stay in Heidelberg - as with any hotel, anywhere in the world, the price will be determined by the location and standard of accomodation.
In my opinion the most desirable area to stay as a visitor is in the old town - you're near the castle, the restaurants, bars, shops, etc. However at peak periods it can be noisy and you will pay a premium. Heidelberg is pretty small, so even if you're not staying in the old town, you won't be more than 10 to 15 minutes from the action.
In terms of the types of hotel on offer, the main categories are the luxury, international hotels - Crowne Plaza and Hotel Europa are good examples. These are very comfortable, well located hotels just on the edge of the old town and near all the shopping.
The other main category are the traditional, German hotels dotted in and around the old town. There is a clulster of hotels near the old bridge - Vierjahreszeiten, Holländer Hof, Hotel Ritter, Hirschgasse, Hackteufel and Hotel Acor are all examples. These hotels range from good mid-range to luxury.
And then finally (oder endlich) we have the hotels that are one-offs, located outside of the old town. If you're driving, parking will be easier at these hotels and they will tend to be better value. They will also probably be a little quieter. Good examples include Hotel & Restaurant Auerstein, Hotel Central and Holiday Inn.
So, in summary, you have a lot of choice - it all depends upon what's important to you.
I'd love to hear about your experiences staying in Heidelberg, how you found your hotel and whether you would recommend it.