You can usually leave a negative review for a hotel even if you didn't stay at it. AirBnB doesn't allow it.
Also, every time a hotel has not had a room when I showed up, they put me in a nearby hotel of similar or better quality. I'm sure that doesn't always happen, but it is the standard for quality hotel chains.
That said, in December my ex wife had an Airbnb cancel just before her trip. She had to find another place in a hurry at twice the price.