As I've mentioned a few times around here, I booked a great trip to Panama City for January. I know it's an off-season, but I found a rate that is crazy good. The website for the hotel said that rates start at $219 per night. I am paying about $65. It's a legit site (booking.com), not some weird place. So why do you think hotels are willing to sell rooms at less than half of full price?
The most obvious reason is that it's not the high season, as you said. Hotels/hostels on booking.com provide discounts if, on the other hand, the place is in high demand.
It's because the travel agencies have a tie up with these hotels and they give an offer price. Apart from that these agents books the rooms during the offseason which help them get the rooms at lower rate for the customers.