There's a huge range of accommodation in Bangkok, and fortunately there's never any real problem getting a room at any time of year, whatever your budget. By international standards, room rates are generally very good value - ranging from the 150B (a little over 1US$) guesthouse dorm bed right up to The Oriental hotel, consistently voted as one of the best in the world.
For the majority of visitors to Bangkok, your budget will probably dictate the area where you stay. Banglamphu (Khao San Road) has many cheap rooms in the 150-500B range. For this you will generally get a basic small room with a fan with a shared bathroom. This is a very popular backpackers area, and the abundance of competition keeps prices fairly low. A slight step up for budget accommodation can be found in the Siam Square area. Sukhumvit road is another of Bangkok's big tourist districts, and has a very large range of hotels with rooms generally ranging from 700B up to about 2000B. Top end hotels are found all over the city, the very best (Oriental, Peninsula, Shangri-La, Royal Orchid Sheraton) tend to be located by the river, and around the Siam Square area.
Other than price, it's important to consider what you want to do while in Bangkok when choosing a location for a hotel. Bangkok's international reputation for pollution and congestion is not undeserved, and it's worth staying in the area where you want to spend most tim, as getting from one side of the city to the other can, to say the least, be a bit of a challenge. The relatively new skytrain connects the Silom, Siam Square and Sukhumvit road areas, and makes getting around here fairly painless - these are all good areas for shopping and nightlife, but with limited sightseeing opportunities. Many of the main tourist attractions (Grand Palace, Wat Pho and Wat Arun) aren't on the skytrain line but in the Ko Rattanakosin district - depending on the traffic, it can take over a hour to reach here from Sukhumvit or Silom.
In Thai hotel terminology, a single room is one with one double bed, a double room has two. Therefore, it's perfectly normal for a couple to check into a single room. Prices are generally the same whichever you ask for, or only very slightly more expensive for a double. An additional charge that may apply is the 'joiner fee' that is levied by some hotels to try and prevent any 'guests' joining you in your room overnight. Another price that has to be paid is the 7% tax in that all accommodation in Thailand is subject to. The cheaper guesthouses will incorporate this into the price (or just not pay it at all), but for most of the 3* or better hotels this will be added to your bill on top of the rate you're quoted. On top of this, an 8% - 15% service charge is often levied also (If you see prices quoted elsewhere as 2000B++, that is what the ++ means). This is well worth bearing in mind when considering hotels, as obviously it can make a substantial difference to the total cost. It's also an important thing to ask any travel agent booking rooms for you, as some don't mention to try and make their prices sound lower while others quote all-inclusive prices.
The excess of accommodation in Bangkok means that, generally, the supply of accommodation outstrips the demand for it. Though there is an exception to this during the tourism high season (roughly Nov - Feb, and August), for much of the year discounted rates are often readily available. During the high season, hotels raise their prices and advance booking for popular places is recommended (at other times, it's not really necessary). Since reservation clerks may have problems with English, it's much better to make a reservation via email, fax, travel agents or on the hotel's website if possible rather than by telephone.
Though it might sound illogical, you very often get rooms with any 3* or better hotel much cheaper if you book through a travel agent than booking directly with the hotel. There are now a multitude of internet travel agents booking hotels in Bangkok and elsewhere in Thailand, and the rates they can get are generally very good. Travel agents in Bangkok offer rates that are comparable, but not really any better, than ones you can get from the internet.
An increasing number of hotels now accept reservations direct via their own website, and a few only accept reservations directly. While rates obtained like this are still likely higher than a travel agent could get, negotiating via email with them is worthwhile. Often you can get extras included in the price - e.g. try and get free airport transfer / breakfast / late check-out / room upgrade included. If you flew to Thailand with THAI, they often have pre-negotiated good deals on hotels on your behalf - ask your travel agent at the time of booking. For example, the Amari Airport hotel cuts it's rates in half for holders of a THAI ticket. For budget accommodation, booking in advance is frequently virtually impossible as many refuse to take reservations. It's not much of a problem though, as budget places are generally clustered together - so if one is full, just try next door. You'll always find somewhere. For the cheap guesthouses, (mostly) standard prices apply and chances of a discount are generally slim, unless they have a particularly low occupancy rate.
Better walk-in rates
If you do end up as a walk in at a 3* or better hotel, as a general rule it's never necessary to pay the first price asked. This doesn't necessarily mean that haggling with the receptionist is the way to go, but simply asking for a discount (or if they have any 'special prices' at the moment) will very often yield results, and reduced rates are almost always available for stays of 3 or more days. It might sound somewhat strange, but the richer and more powerful you appear, the better your chances of getting a big discount are. Dressing smartly and showing your business card will invariably lead to being offered a 'corporate' discount should you ask. Chances are best if you can speak in Thai, though unless you are reasonably competent in it the receptionist's English is likely to be superior to your Thai.
Finding your hotel
Once you've chosen a hotel or apartment in Bangkok, it's not always easy to decipher it's address and actually be able to find it!
For instance, New Phetchburi Road is typical of many Bangkok streets in that it's romanisation from Thai is incredibly inconsistent. A street map of Bangkok may well spell the same road as New Petburi, New Phetchaburi, New Petchaburi or a few other similar spellings. Another example is Ratchadamri road - or should that be Rajadamri, Rajdamri or Ratdamri ? They are all one and the same thing, which can make things a little tricky when trying to find it on a map.
A second problem is the fact that some roads are not just romanised from the Thai, but actually translated (such as New Phetchburi road). Again, it's highly inconsistent when road names are translated or not - you're as likely to see New Phetchburi road written in romanised Thai (Phetchburi Tat Mai) on a map as it's English equivalent. Even more confusing examples are Withayu (meaning 'Radio') road and Wireless road, which are two names for the same road, as are Charoen Krung road and New Road (This is the worst of the lot really, as Charoen Krung is one of the oldest roads in Bangkok, and it doesn't even translate to 'New road' but rather as 'Prosperous city'). If you're talking to a taxi driver or asking for directions, you obviously have to use the Thai words as no-one will understand the English street names.
Understanding Thai Addresses
There's only one word used for road in Thai, commonly written in English as 'Thanon' (pronounced like ta-non, with a rising tone on the second syllable), but it's also sometimes translated as avenue, street or something similar. Therefore, Ratchdamnoen Road and Ratchdamnoen Avenue are the both the same road, known as Thanon Ratchadmnoen in Thai. A soi is a smaller road running off a main road, a trok is the same but much smaller (sometimes translated as an 'alley'). Both Soi and Trok are never translated and the same word is used in the English address, as in Soi Jaruraj for the DMA Pavilion (though again, romanisation is inconsistent - this could equally well be written as Soy Chalulat).
A few sois, such as Soi Asok off Sukhumvit road, have since become very large and are deserving of 'Thanon' in their own right. Sois run numerically in odd and even numbers up opposite sides of a road, so don't be surprised, for instance, to find that Sukhumvit soi 55 is not opposite, or indeed anywhere near, soi 54 or 56 but rather soi 38. Some sois have a name as well as/instead of being numbered.
In the case of an address like 1091/388 Soi Jaruraj, the numbers are not always of that much help in locating a property. The 1091 is the original lot number of the property, which may or may not mean anything now. The 388 refers to the building's number in that lot, which also may or may not run in order. Luckily hotels are big buildings and so are generally easy to find, but trying to find someone's house on a long soi can be a frustrating experience.