I agree for the most part, but the trick is knowing what the inputs are in the first place. A software consultant may miss a critical primary input such as WHO is actually signing the contract.
I've seen instances whereby a contract was signed between a colleague and his client, but the signature was between him and the signing agent, and not the company per se, so when the guy that contracted him suddenly left the company, the contract was declared null and void even though it was halfway through. He thought he signed with the company, but legally he only signed with the representative as laid out in the preliminary parties clause.
Lawyers are trained to spot those gotchas, much as developers can spot "off by one" errors in computer code instinctively.