Tak jak wspomniał @several, specyfikacja może stanowić osobny dokument. Ale jakaś specyfikacja musi być i musi ona być wspomniana w umowie (więc specyfikacja i umowa będą jakoś tam powiązane).
Dodatkowo, pamiętaj o symetryczności. Jeśli np. umówicie się, że gdy zawalisz deadline, to za każdy dzień zwłoki będziesz płacił tyle i tyle, to klient niech też ma odpowiednie kary pieniężne za np. niewywiązanie się z terminu zapłaty po skończonym projekcie (zdziwiłbyś się jak często [ci słabsi] klienci zwlekają z zapłaceniem za projekt).
Gdy w grę wchodzi czas, to wypada pomyśleć o wszystkich terminach i możliwych zwłokach. Np. jeśli klient po otrzymaniu designów musi je zatwierdzić, to niech ma na to powiedzmy 7 dni. Jeśli będzie się ociągał, to ostateczny deadline projektu przestaje obowiązywać, bo przecież nie wyrobisz się z trzymiesięcznym projektem jeśli na "klepnięcie" designu będziesz czekał miesiąc.
Możliwe też, że klient zażyczy sobie jakieś zmiany jeszcze w trakcie trwania projektu. Wtedy dokładacie aneks do umowy i Ty możesz oczywiście negocjować deadline. Jeśli klient nie będzie Ci chciał dać dodatkowych dwóch tygodni, których potrzebujesz na tę dodatkową funkcjonalność, to po prostu nie podpiszesz aneksu do umowy i nadal będzie obowiązywała stara :P.
W tym wszystkim ze swojej strony musisz zachować rozsądek i dbać o to, by efekt ostateczny był jak najlepszy. To Twoja odpowiedzialność. Dzięki temu, klient ostatecznie będzie zadowolony (mimo że przejściowo może nie być bo np. powiesz, że nie zrobisz czegoś tak jak on chce, bo jego pomysł jest głupi bo to i tamto -- to Ty jesteś specem od stron, klient jest specem od swojego biznesu).
A w razie jakbyś trafił na klienta, który będzie szalał -- potrzeba sporej dawki doświadczenia i samozaparcia by takich w 100% eliminować -- to będziesz zabezpieczony.
Ja jestem zdania, że Ty musisz zrobić wszystko co jest napisane w specyfikacji i tylko to. Jeśli jest tam napisane "podstrona wyświetlająca listę newsów z możliwością ich dodawania, usuwania i edycji" to jest to bardzo ogólne stwierdzenie. Nie mówi nawet z czego składa się news. Jak dla mnie możesz założyć rozsądne minimum: temat, treść, data, ew. autor jeśli autorów na stronie może być kilku. I tyle. Komentarze do newsów to rzecz dodatkowa i powinny być wspomniane w specyfikacji, podobnie jak możliwość ukrywania newsów czy wyświetlania na stronie z listą tylko kilku pierwszych zdań.
W dobrej specyfikacji wszystkie takie bajery są po prostu wypisane. Jak masz coś ogólnego, to robisz rozsądne minimum spełniające to ogólne zdanie i klient nie może powiedzieć, że "a on chciał jednak [+tu lista szczegółów, które są jednak dodatkowymi/nietypowymi bajerami]". Te bajery trzeba ująć w specyfikacji.
A specyfikacja musi istnieć. I musi mieć moc pod względem formalnym/prawnym.
Dodam, że ja czasem podpisywałem naprawdę szczątkowe i słabe umowy, ale to gdy pracowałem dla faktycznie sprawdzonych, zaufanych klientów, gdy obu stronom zależało na współpracy i gdzie nawet słowo mówione było dla obu stron wiążące. To jednak bardzo rzadki przypadek i nie należy zakładać, że się w nim znaleźliśmy (a niektórzy i na zaufanych klientach się przejechali -- ja miałem być może więcej szczęścia niż rozumu).