A contract isn't some scary legal document full of cryptic legalese. It's a clear description of what services will be provided and what the compensation will be. And on what schedule everything will happen. With details about what happens if things go south.
Most client problems are not as cut-and-dry as "he took all of my work and is laughing at me and lighting cigars with $100 bills while he refuses to pay me for absolutely no reason." Most disputes are based on misunderstandings of some sort. They think feature X was in-scope. You disagree and want to bill them additionally for it. They are withholding pay because they don't consider the project completed. You do. And such. Having to threaten a client will waste a ton of your time and sour relationships -- clients you have disputes with can still be good clients. This is why you write down everyone's expectations at the start.
Most clients aren't evil. They want good relationships with the people who work for them. But disagreements arise. Contracts give everyone a neutral document to refer to and say "look, this is what we agreed upon when we started."
Use contracts.