With the use of opportunity records, custom objects, and contact records of the system, the Documents & Contracts should be able to pull information from any of these fields, custom opportunity fields, etc. in order to build a contract.
It really makes no sense to have a system where we can store a wealth of information, but only actually use a small piece of it.
For those clients (most of ours) which use the Opportunity records like Job Boards or Order Tracking boards, the necessity of making it easy to automatically fill contracts is imperative so being able to pull data from any of these points is necessary whether it is in workflows or by using the templates manually.
In manual use of the templates, we already have a drop box for the contact record, so adding a drop for opportunity records and one for custom objects should not be that difficult and give us the ability to truly enhance the system and compete with companies like Salesforce.