What contracts aren't
One persistent general belief, probably most common among a subset of the people who insist on going commercial for products (instead of open source), is that your problems are over once you have a contract for something with some appropriate entity.
This is false. Contracts and agreements and so on do not insure actual performance, especially performance to your satisfaction; all that they actually do is enable you, in theory, to recover some amount of money some distance in the future. In practice this 'remedy' is so counter-productive to your actual goals that it is almost never invoked.
(After all, your actual goals are the performance, not your money. Often you need the performance badly, so it is better to spend some more money now and get results instead of doing without entirely and getting money back later.)
Contracts do improve the chance of performance, but a large part of this improvement is that many organizations definitely won't perform if you don't have a contract. Of course, this is not true of the open source world, which makes me wonder if this is one of the quiet cultural issues between (big) business and open source.
(Also, getting a contract means that it is generally not your fault if things go wrong anyways, which is very important for many organizations and people.)