Again, at least you found out in advance and no one risked their lives by driving. Losing the $ sucks, and right before the holidaze. Sorry to hear.
I used to book our blues band and once we had a January Friday night scheduled in a 3rd ring (out from the city) suburb. At 8am the forecast called for 8-12", so at around 2pm I called the club. Snow was already falling steadily. The owner was adamant that the show go on but I knew our drummer had a 60 mile trip, one way. Plus, he wasn't what you'd call a punctual type dude. I calmly mentioned to the owner that, normally we'd honor the booking and show up and play. BUT, at the end of the night, when he had maybe 6 paying customers and a ring of about $83 he'd have to then hand us our agreed-upon fee, in full.
*Pause* "Yeah, ok, let's just call it off, then." Wise decision as it snowed well into the next day.