Sign up for the hotel's email offers. I usually don't allow things to email me when I sign up for them, but I did when I stayed at Day's Inn last summer, and now I get all kinds of great discounts. For example, I just got one for 20% off my next two night stay at a Day's Inn. Also, if you don't like spam, create an email address just for these types of deals!
Another way to get discounts (or even free rooms) is to complain to management if you had a bad stay. Please, please, please do not make a story up. If you truly had a bad stay, if your room smelled like smoke, etc, write a well thought out letter to the company, via email. Let them know you normally enjoy your stay with their company but found this visit sub-par for whatever reason. Do not ask for a coupon or your money back. I have done this twice, both legitimate complaints and was given a free nights stay fora future date. I did not write the letters looking for anything, I just really had complaints and needed my voice hear. The management was appreciative.
What Tabitha said is going to work well. The reason this works is the hotels want to keep you happy. However, you need to make sure your complaints are valid. I know my wife and I had a bad stay at one hotel, the in room hot tub did not work and it was missing three lights. Complained to management and they took three hundred bucks off of our bill.
That doesn't always work. I had a terrible stay at a Days Inn last summer when I was in South Carolina for work, and they refused to even refund me for future nights I'd already booked after I complained, so I was stuck staying there anyway.
If you want an upgrade, don't be afraid to ask for one when you are booking! You can eve write it in the 'special request' bubble on most sites if you book online. If it is any kind of special occasion for you be sure to include that information with the request. They usually won't say yes right away and often it doesn't work, but it has worked for me three times now in the same number of years. I think most people just don't think to ask, because the fact is if there are empty rooms they will be upgrading someone. Being friendly once you are there is also an enormous help in this regard.
I usually try and travel when there are deals going on with specific Hotel Chains. This is most of the time during a specific travel season and depends on what area you are traveling to but I have caught some pretty good hotel discounts just by traveling easly during a season. Also, sticking to one hotel chain (if you are pleased with it) makes you a frequent "flyer" which puts you on their radar for specials.
One way I save money is joining all the rewards clubs that hotel chains offer. When I have enough points to get a free room I search their point stretcher awards. It's like a sale on room rates. I try to visit places in non-peak times. Also, if you are a member of their rewards program they will usually upgrade your room or give you special items. If I am short on reward points I will search discount websites such as Priceline. I will research area hotels and then bid on a hotel in the area I want to stay. You can get 60% off a room.
That is great to know that this happens and they try to maintain their business. A very smart move on the part of the company. Great to know! I will most certainly keep this in mind.