With hotels you're playing the lottery but there is generally a baseline consistent with the brand of the hotel.
With those two you're also playing the lottery but there is no baseline.
With a hotel, you're also generally paying when you check-in and can thus refuse a subpar room and argue with a real, mostly-reasonable person.
With those two, you get charged before you even enter the place and any arguments will be with a bot or a call center drone in a third-world country pretending to be one.