The discussion threads were all saved as part of the specs so we could go back and remember why we arrived at the conclusions we did. It's a given that you'll make changes along the way and deviate from the plan. But a complete initial spec will keep everyone on the same page about what you're building, will give people a formal chance to offer input and feedback AND will help in determining a realistic schedule. And it's a real hoot to go back and look at the original spec to see how different the final product turned out. Make and keep a realistic schedule.
Scheduling is a tightrope act.
Volumes could be written about writing and keeping schedules. Don't be afraid to slim down your feature set in order to make your schedule reasonable. But do all of this up front. Even if it means slipping. In the beginning we didn't set a reasonable schedule.