Book your stay at least three months in advance. Hotels are under pressure to book as many rooms for a night as possible. In an effort to avoid scrambling and price slashing to entice last-minute guests, they will often offer discounts to those who are willing to book far in advance.
Keep your dates flexible. Call hotels to find prices on and around your ideal vacation date to see if they dip or rise. There may be a convention or event in town, driving prices up at the time you plan to visit. You may also find that some hotels charge more for a weekend stay.
Check the major hotel aggregators. Websites such as Hotels.com, Expedia and Travelocity will often have exclusive discounts on certain hotels. The deals you'll find are negotiated between the hotel and the aggregator, so they are not necessarily the same on each website. Check at least three hotel aggregators to find the best deal.
Go straight to the source. Call or email the hotel directly to find out what the best possible rate is for your stay. They may or may not be willing to cut a special deal just for you, but at the very least, they can tell you how to get the lowest advertised price.
Book your stay at the last-minute. If you can't book at least three months in advance, this may be your best option. Hotels with open rooms are under pressure to fill them, so you stand to save a lot of money. Call the hotel directly to negotiate a last-minute rate, or try naming your own price on Priceline. Before waiting until the last minute to book your hotel, you must understand that there is the risk of every hotel being booked for the dates of your stay.