A lot of the ambiguity in contracts today has to do with structure, and not so much content. This may seem counter-intuitive, but consider some examples:
1. Lawyers have a bad habit of using "inline definitions" in contracts. That means that in the middle of a long sentence, they'll throw in a parenthesis such as ("Defined Term"). Now, any coder will immediately see that the scope of the "variable" Defined Term is ambiguous without a clear statement of assignment or equivalence. This is a structural issue. The lawyer instead should have put in the contract's glossary: "Defined Term means..."
2. Lawyers tend to use "or" with imprecision. That's why you see many "and/or" in contracts. They either need to use better logic operators, or be precise about logical OR vs inclusive OR.
3. Lawyers get sloppy with timeframes. "Within 30 days of..." is a common formulation in a contract. Do you think the drafter means 30 days before or after? Probably not both. Stuff like this is just sloppy structurally.
4. Lawyers screw up grammar. Commas are really important. Say I list off three conditions: You will do X if (a) thing that might happen, (b) thing that might happen, and (c) thing that might happen with reference to some other thing. Notice the "with reference to some other thing" at the end? If that is preceded by a comma, some courts will apply it to all of (a) through (c). Otherwise, it might only apply to (c). Stuff like that happens all the time.
Now, sometimes ambiguity is OK, or even a good thing. Every question has its own time for an answer, and that time may not necessarily be in the contract. It's important to be pragmatic in a business setting.
Since I said IAAL above, I'm including the standard ethics disclaimer: this is informational only, not intended as legal advice, and I don't represent the reader as legal counsel.