As a freelancer, I've only ever withheld work until paid once. It was an instance in which I had worked with these people twice before and they had been MONTHS late paying each time. They wanted me to do another ad for them and I said sure, but told them that I only worked on contract now and that I would have to be paid half up front. They agreed, signed the contract and faxed it back to me with a copy of the check they'd cut me and told me it would be in the mail tomorrow.
So a week and a half later I'd finished their work on time but still hadn't gotten that check that was "gonna be in the mail first thing tomorrow". I called them and calmly informed them that they wouldn't be getting the work until I was paid in full since our contract had been breached. They flipped out and said they would sue me, they had mailed the check, I was trying to screw them and I hadn't done the work, blah blah blah. So I videotaped my rig playing their ad and sent them that video in an email. Two days later I got paid and told them not to call me for any future jobs.