Mark Pilgrim wrote this interesting (and humorous) article on why specs matter, saying you can categorise all coders into two groups – assholes or morons. Assholes read specs to pick out loop holes to demonstrate why specs are wrong – they are management nightmares. Morons do not read specs properly and get picked for writing dodgy applications – they are software development nightmares. And yet, having a good spec is important, as it helps the morons to fix their problem, and silent the bragging of the assholes.
… And I think I am a bit of both. Always miss the important part of the spec, but never forget to brag about the bits that I have read. Sigh…