Beware of misleading practices.
The hotel advertises "free cancellation" until the day before check-in for an extra fee. It also offers the option to pay at the hotel instead of in advance.
After booking, management will email you and say that no, free cancellation is only until 21 days before checkin, and that you must pay immediately to confirm your reservation. They are discourteous and a bit shady, so take that into account.
Such policies are fine if disclosed, but don't trick and mislead your customers — be upfront and honest.