We have, unfortunately, been put in uncomfortable situations in which a client with a signed legal contract chooses, for one reason or another, to ignore our legally binding agreement and not pay for services rendered to them.
The choice becomes, is it worth the time to hunt down non-paying clients and demand those hundreds or thousands of dollars they have stiffed us for? Do we pay fees to a collection agency? Do we spend the time going to court to obtain the money we are owed?
I don't think there is one answer for these questions.
I do know one thing: A contract between a client and a web designer is a legally binding agreement. We strive to complete a project on time, within budget, and per the terms outlined in these contracts. Our contracts are very specific for a reason. You know exactly what you are getting, and we know exactly what is expected of us.
To claim, as was the case recently, that you did not get those "pie in the sky" things discussed in an early phone conversation, prior to contract, those "wouldn't it be cool" things that were discussed and then dismissed, and use those "wouldn't it be cool" things that were not in the contract as reasons why you were not paying a bill, is not only not supported, not professional, but also not ethical.
We expect our clients to treat us as professionally as they treat them. And we also expect our clients to pay their bills, as per our legally enforced contracts with them. We don't like being ripped off. You don't like being unhappy.
Pay your bills, fulfill the obligations of your contract, and have the website you've always wanted. It's not that difficult a concept. For most.