This post has put in to words much of my own, un-reputable experience with SO and stack-exchange forums. The technical corrections and constant closing of questions by mods discouraged my asking of questions ages ago. There is a feeling that researching the details necessary to describe the question adequately takes away from research that may have yielded how to solve it by looking at similar questions or documentation. I know that this is partly the intention of the mods: go do your homework before asking. But, it can swing to be the flipside: homework of asking is as long or longer than deciphering your problem. In my experience, much of a questioners research to prepare their question was UNRELATED to their problem, so the amount of information included in the question is far above and beyond what is necessary to solve their variable typo, or whatever.
Where this is a good thing for the long-term usefulness of SO, like the OP said it takes away from the short-term usefulness of the site for us plebian self-doubters.
Having said that, previously asked questions on SO answer ~90% of my programming questions, so they're obviously doing something right.
I've thought before that a 'staging area' for questions might be useful, where a question gets posted by _anon_idiot_user_ like me asking why thier code won't run because of something simple. It is marked as 'not useful' for whatever reason, but can still offer (diminished) reputation to answerers. After a particular amount of time, the question is removed from the SO 'canon' (i.e. unpublished and deleted), but the reputation sticks. Nobody's ego is hurt from having thier stupid question memorialized, and mods would be more forgiving to stupid questioners knowing it will go away once solved.
just an idea. All in all, I'm eternally grateful to SO and it's 'asshole mods'. They've taught me more programming than any other entity on the web.
EDIT: Clarity