Wiki
Pros:
- Latest version always accessible over web, from off-site, etc.
- Fairly easy to use (if you steer clear of those with a trainwreck for formatting like MediaWiki, that is)
- Automatic indexing, searching, easy categorisation
- Easy to attribute changes to people and to make them accountable for changes
- Supports linking and makes it easy and effective to factor out details
- Can link to wiki pages directly from internal bug reports and other correspondence, making verification of a bug very easy
- Version history and revision control typically built in
Cons:
- Sometimes TOO easy to change (*see below) and requires discipline
- Pages can get out of sync when edited in isolation (often no 'global search and replace', for example)
- Pages get orphaned or superceded and left as potential minefields for coders later. ("What do you mean we're not implementing that any more? It's still in the design wiki!")
- Syntax can be a little esoteric unless you get the right package
- Have to arrange hosting, or accept what is available online for free
- No clear route through the document - how do you read it 'all'?
- Hard to print. Can you print it all out with one click? Can you easily print out everything relevant to one given feature in order to take it into a meeting? Can you annotate the digital version easily without obscuring the underlying document?
(* We used a wiki for one project and designers were always tempted to go in and 'improve' parts of it, even on features that had been signed off and sent to be coded up. Then when QA got to testing the feature, it would be a nightmare because often the design would suggest something different to what was actually coded, and it would take a fair bit of frustrating work to find out which happened first, the change to the design or the code.)