A contract's fine print can get you into trouble, especially if you don't understand it. Be sure to read the terms and clauses carefully, and ask others to read it over too. Here are a few you should know about:
"Hold harmless." The wording is usually fairly standard and usually says something like this: "You promise to hold and save harmless ABC Corp. from any and all claims, suits or demands brought by anybody." Do you really want to honor that? Of course not. Will your insurance company defend you for "any and all" claims? Of course not. I usually add a few words and remove a few to read this way: "You promise to hold and save harmless ABC Corp. from any and all claims covered by insurance brought in connection with your work under this contract." I also ask my client to demand the same wording for himself, ensuring that the contract is reciprocal to both parties.
"Waive subrogation." I'm not a fan of this and most of the insurance companies I deal with will not honor this request or will ask for a bigger insurance premium if such a waiver is in place. A subrogation waiver basically prevents your insurance company from collecting against the other party if they were the negligent party in an accident. This is another clause where I'll ask the other party to make it reciprocal so both parties are treated equally. Subrogation means one party has the right to "step into the shoes" of another party for the purposes of bringing a claim for damages.
"Additional insured." This one really grinds my gears. It essentially cuts my client's limit of liability in half if each party is named in a suit because my client is sharing his limits with the other party. I don't see the other party's logic in this because by being an additional insured on my client's policy they preclude themselves from ever making a claim on my client's policy. One insured can't collect from another for the same incident on the same insurance policy. I have argued against this clause with many legal departments over the years and have mostly prevailed in my client's favor using the splitting of minimum limits argument.