Farray and DA01 have pretty much nailed the key points. My nickel's worth (inflation, don't y'know) speaks to the freelance vs. large firm part of the question.
Larger firms tend to deal with larger clients, and should already have carefully-crafted boilerplate to cover the legalities. The sums involved and potential liabilities are often large, so the legal department of the client and the design shop's attorney duke it out on the fine print. A basic design contract is often laid out by the client in the RFP, then negotiated from there.
A freelancer tends to deal with individuals and small-to-medium businesses (SMBs), or does contract work for bigger shops. In the latter case, the design firm lays out the ground rules. The smart freelancer has an attorney check things over for shirt-loss potential, but usually doesn't originate the contract.
In dealing with clients the approach has to be a bit different. SMB clients are often naive about professional design. In such cases, in addition to Farray's list, I spell out in simple language:
A breakdown of the Scope of Work, showing all the stages of the project, who is responsible for what at each stage, and what payments are triggered at which points.
The timeline for client approvals ("within x days of submission," for example). A clear statement that any delays in approvals will affect the final deadline, is important. Same goes for client-supplied assets.
Less experienced clients have little or no concept of the work involved in a design. It's important to spell out how many rounds of changes are included in the contract, with additional changes either "subject to separate estimate" or "billed a x per hour." I always specify a separate per-hour fee for author's alterations after the artwork is completed and accepted.
Handling of project expenses must be carefully defined. If I'm paying a photographer and model(s), I don't want to be out a few thousand bucks until the end of the project, so the contract will specify immediate reimbursement. I prefer to have the client contract that kind of work directly, with me acting as AD for the shoot. Clients hate surprises, so I will often include "not to exceed x without prior approval" on expense items.
I also include a certain number of consulting hours in many contracts. This is possibly peculiar to my practice because I have a background in marketing, but so many clients need serious help working out what they actually need that it's now a common line item.