It's something that happens a lot when you have flexible cancellation policy.
Think of it this way, those that cancelled may not have booked if you are on a stricter cancellation policy in the first place.
Depending when they cancelled, you may still get some of the booking fee.
For me, I rather fill my calendars well ahead of time, and deal with the cancellations as they come up. Most of the time, it's not an issue tbh, since they can get filled up pretty easily especially as summer rolls around.
As for the reasons, it's hard to say since many factors can influence it such as weather etc. But I also get the feeling that some guests will do a last minute price check and if they find a better Airbnb, they can easily cancel their existing reservation and book the other one since at most they lose one night, and likely nothing if they cancel a day ahead.