I book about 60 hotels a year, and typically do check the fine print. Having to pay the first night if cancelled too late is quite typical. If you only have one night, that is ugly, but it is better when you booked a week or more.
As others said, technically, cancel and change is typically the same for the hotel and follows the same charge rules; but they might be more willing to accomodate if you change.
Note that depending on the rate you book, you might have to pay the whole stay when you want to cancel (that’s what’s called ‘prepaid’) - therefore, you got a slightly cheaper price when booking. Others are slightly more expensive, and allow free cancellation until 6 pm the day.
You need to think about this when booking, not just pick the cheapest price.