Collection Agencies for Deadbeat Clients?

What do you do if a client stiffs you?

Twice in my career, clients have decided not to pay my invoices. Once, after delivering a component, a client seems to have made the simple decision that the amount of my final invoice was less than what it would cost me to retrieve it (they miscalculated -- the amount was so little I took them to small claims court. Sure, the opportunity cost was excessive, but it was such a bush-league maneuver I couldn't let them get away with it.).

Currently, I've got a much more serious situation. I wish I had faith in the legal system, but I don't. I feel that no matter how much the facts are on your side, the person with the deeper pockets can delay and delay, costing you not just money, but the only thing you have as a consultant, which is your time. As a software developer, you train yourself to manage risk, and the risk and opportunity cost of suing someone is clearly very high.

Jacob Profitt says that a collection agency is the logical choice: that they buy the debt discounted for the risk and I move on with my life. Has anyone used a collection agency to go after a contract debt? What kind of experiences have you had?