I like hotel online booking agents because they let me find the hotels in the first place!
I plug in the city (where I have probably have never been before), filter on area+price+minimum review score and book directly. No one else provides that service for me and super convinient. (sites like tripadvisor does not come across as comparable to me, sorry).
For business and private I usually stay in small hotels on max 100 USD/night budget. Too bad the hotel makes less money compared to their rack rate, but without the online agent they would maybe not have sold me the room at all.
Difficult to cancel? I think not. If I cancel within the cancellation period it is instant.
Bad customer service agents? Yes and no. Many are actually bad. I think hotels.com stands out as having good customer service.
Another service e.g. Hotels.com provides me are custimizable receipts! My company's accounting department is über anal about receipts and how company name/address is written. Even when hotel staff are carefully instructed by me, most medium price range hotels in ASEAN get the receipts wrong in one way or the other. And it takes forever. On hotels.com I just use my template and the trolls in accounting (see Dilbert) don't complain. Win-win-win.