1. Scope described in general terms
A phrase such as "and whatever is necessary to complete the work" looks harmless, but it opens the door to later claims for work never priced. Good scope states expressly what is in and what is out.
2. Payment tied to an undefined event
Tying payment to "completion" or "acceptance" without defining either, and without a period for objection, leaves entitlement to one party's will. The fix: define the acceptance standard, the response period, and treat silence as acceptance.
3. Termination in one party's favour
A right to terminate for convenience granted to one side only inverts the balance of the contract. If it is accepted, it should come with adequate notice and compensation for work performed and commitments actually made.
4. Penalties and damages drafted unworkably
An uncapped penalty, or damages covering "direct and indirect" loss without definition, looks strong but becomes disputed in application. Clearer: a defined cap, an explicit basis of calculation, and express carve-outs.
5. Copy-pasted force majeure
Most force majeure clauses are copied without review and never state the effect: is the obligation suspended or terminated? When may the other party rescind? What about sums already paid?
6. An ambiguous dispute clause
A clause referring to "arbitration" without naming the forum, the governing law, the language and the number of arbitrators can become a separate dispute preceding the real one. A good clause answers those four questions in a single sentence.
7. Unbounded confidentiality and non-compete
A confidentiality obligation with no term and no definition of confidential information, or a non-compete with no geographic, temporal or activity limits, is hard to defend in application. Specificity increases enforceability rather than reducing it.