Stuff happens, I think everyone can agree there. However just going "oh OK, I don't need to get what I paid for" isn't the answer. The hotel should have some alternative in place. Can be as simple as reimburse $20 upon receipt from local McDonald's. If there's a hotel next door, strike an agreement so customers can have breakfast there. Amother alternative, they could simply take $20 off the hotel rate. Etc... There's multiple ways can be handled.
Things happen, it doesn't mean the business isn't still responsible.
Example, I understood that the RI I stayed at didn't produce it's own power. However it was still responsible for ensuring I had power. When it went out for half a day, i expected a refund. Im not in the business of giving companies money for services they then don't provide. If business didn't want to need give refunds, they could invest in generators/solar/etc.