I think I've stayed, or least...
I think I've stayed, or least been to almost all the major hotels in Jakarta. Mostly for parties and it is very common for Jakartans to 'open a room' with friends on New Year's eve because most of the best New Year's parties are held in 5 stars hotels. We usually just rent 1 room and divide the cost by about 10 friends.
For those who have a deep pocket, Grand Hyatt is really grand! For a little history: Hotel Indonesia is the oldest hotel in Jakarta. From it's name, we can guess that Hotel Borobudur has a Javanese-theme... when you stay here, try a delicious Ox Tail soup at their own restaurant, Bogor Brasserie. The small club adjacent to the hotel, Music Room used to be a hip place but I haven't been there in the last couple years. Hilton Hotel is also nice choice with three wonderful restaurants: Pizzaria (Italian food), Sri Wedari (Indonesian Food... I think that's the right name), and there's a Japanese restaurant I cannot remember the name but it's certainly yummy! For sports maniac, Hotel Athlete Century in Senayan is an option because it is located within 10 steps from Jakarta sports complex (as well as Hilton), For those who need to be close to the beach, Horison Hotel is just off of the beach. There are many other options like the Le Meridien, Pan Pacific, Sahid Jaya Hotel, Shangrila.... These hotels above are pretty costly with price ranging from expensive to very expensive.
The next level below but it's still very nice and I wouldn't call it cheap are Hotel Mahakam in Blok M, very close to a major Jakarta's shopping area.
For budget traveller, most backpackers find accomodations on Jalan Jaksa cheap but I can't really give any advice since I've never been to the hotels there.