we take a one night deposit on reservation and have a 14 day cancellation period. You may not be aware but Booking.com actually contacts guests and reminds them when they can cancel and get their deposit back! This does not help us!
We do get some cancellations just on the 14 days (I suspect because of this reminder) but at least it is not only one or two days and we have some chance of recovering and getting a new guest.
Taking a deposit also shows that people at least have some intention of coming and it is not so easy for them to book many places and then cancel. One person even told us he always books four places for the same dates and decides at the last minute which ones to cancel. What a waste of everyones time and likely lost revenue as other guests will have been turned away. Sadly Booking.com advertising encourages this behaviour.
Agree Airbnb is better about this as people pay the whole thing up front and people rarely cancel BUT it is difficult to get airbnb bookings unless we bring the price right down so neither site is perfect.