Aaron comments on my post about documentation. While I'd like to believe the documentation isn't great just so I can earn a living, I don't think that's true. And even if they produced great docs, would that leave book authors out of a job? Probably not, as there's always a need to practical discussions.
The trouble companies have, and this applies to big ones such as Microsoft, is that finding technical people who are good communicators and writers is tough. Those with the skill often don't want to be tied into writing API documentation which, and let's face facts here, isn't exactly a thrilling prospect for a full time job. Combine it with white papers, sample code, etc., and the prospect is more enticing.
I'm not looking for documentation, especially API docs, to give me everything I need to know about a subject, but I don't expect them to leave me worse off. My real problem with much of the documentation I read is that some of it is just lazy. Descriptions of properties that say "Property foo: sets or gets the value for foo" with no explanation about what it means, why it would be used, and context. You often get the same code sample referenced in several properties/methods, which does nothing to help your understanding. It's quite clear from reading these that the author didn't know any more, and couldn't be bothered to find out more. And that reflects poorly on the product and the team and company that produce it.