Contracts are useful for spelling out the rights and responsibilities of each party so there are no misunderstandings later. But I agree with you, if the person you're contracting with doesn't want to pay you, you may well waste more than the contract is worth trying to get your money.
If your client ends up not using your work product, either because their business falters or because they reject your work, you stand a good chance of not getting paid --- contract or no contract. That's life in the big leagues.
If your client ends up using your work, your contract is going to end up plenty enforceable.
If your client ends up using your work and you don't have a contract, don't expect to get paid this year, and expect a painful obstacle course of unreasonable support demands. They'll pay you eventually, but since you've reduced the worst case outcome to "amount we agreed on" from "treble damages and site downtime", they have every incentive to drag things out.