I've only had a couple of cancellations. One of them was still several months away and because she was the stepdaughter of a friend, I offered her the deposit back. No problem, I felt fine about it. THEN, several months later they decided to get married at a later date and chose another baker without even contacting me. Sooooo, no more favors.
So yes, stick to your contract!