Given the enthusiastic response I got from my last host when my partner and I took the time to give the apartment a once-over when we left, I'm guessing that this is a persistent problem where guests just leave a place trashed. Some cleaning is obviously anticipated by the cleaning fees; you wash the linens, still give the place a good scrubbing between guests, etc., but I think it's fair to expect the guests to tidy up a little if you're upfront that this is part of the agreement on the listing.
Likewise, even hotels will charge for outrageous damage or messes to their properties. Security deposits in the US for even really cheap hotels are pretty common, usually requiring a credit card with a $100 charge that is cancelled/returned later.
It's not just about the initial money - really bad messes can affect more than just the host and cause problems you can't just solve with money. Too high of a deposit and no one will rent, but if someone's mess disrupts, then the deposit isn't enough to cover losses.
1) Hire a professional cleaner, set cleaning fee, lose some short-term customers.
2) Do not set the cleaning fee, expect to do cleaning yourself, complain loudly in public when this turns up to be the case.