In my 20+ years of staying at hotels I’ve only been caught out once by the cancellation policy and that was very recently with Marriott. The wording has become unclear and contradictory ie don’t say that you can cancel for free X days before arrival but in the next sentence say that it’s a prepaid non refundable rate.