Currently, from the bookings page, a host can cancel a booking even after the status is confirmed and the booking is done.
This can mess up record keeping.
If the booking has finished, then there shouldn’t be an option to cancel the booking any longer (for user or host).
Please note that unfortunately there is no such possibility now, you can cancel your booking even if there was no refund, this is done in order to free up dates. But maybe you mean cancel in past bookings? If so, we are aware of this bug and will fix it as soon as possible.