Being locked into a long-term contract may get you a better rate in some cases, but usually there are strings attached. It is important to make sure you are able to live with those constraints. We willingly sign a two year agreement with a cell phone company in order to get a free or deeply discounted phone. Gym memberships are cheaper if you sign a long-term contract as well.
This all sounds well and good until you need or want to make a change due to unforeseen circumstances or you simply are not happy with the service. Getting out of the contract can often cost you more in the long run when you consider the hassle factor and penalties.
SEO is a long-term prospect. It takes time for results to be realized. Some SEO firms compensate for this time table by locking customers into long-term contracts. These contracts can often be designed to protect the SEO rather than the client.
A better approach is to find an SEO consultant or company that is good at what they do, is honest up front about the commitment to this process and proves their worth over time. A no-contract business approach is becoming the norm in many other industries as well.
Look for an SEO or web development company that believes strongly enough in their services that contracts are not required and you have the option of firing them if they do not perform as promised.
Always be on the lookout for companies that promise the moon. If it sounds too good to be true it probably is.