I think it is worth reflecting a little on why the question quality is low to begin with. (I actually think that the answer quality is reasonably high -- not surprising, as most of the reputation mechanisms on the site focus on promoting good answers.)
Here are two thoughts:
There are always folks looking to get started and build reputation. The easiest (only effective?) way to do this is to watch the newest questions list and answer the easiest questions immediately. However, the easiest questions are frequently exactly the questions that most developers would consider low quality. There is thus no incentive for users not to research before asking questions -- there will always be someone out there willing to do the legwork they should have done themselves.
This suggests a mechanism for improving question quality: Give more reputation for providing an up-voted answer to an up-voted question than for a down-voted question. (For a bonus, make up/down-voting questions cheaper and more accessible so as to get more community feedback on them sooner.) That way, the best strategy for an incoming SO user is to answer high quality questions. If low quality questions visibly don't get answered, that may reduce the incentive to ask them.
If you email a mailing list, you're taking up the time of all the recipients of the list. And many of those recipients jealously guard their time. This has led to a general culture of "I won't google things for you" and links to "How to ask a good question documents".
With SO, there is less of a sense of impinging on folks, and the culture of insisting on high quality questions is missing. This does have an upside -- the barrier to entry for new programmers is lower -- but it does mean more spammy questions.
SO could probably attempt to influence new question askers by e.g. linking prominently to "How to ask a good question" docs, but they're likely to be ignored by users.
Why doesn't the SO community actively police question quality? I think it is because of the incentive problem above, and also because there are no decent mechanisms to do so. The only one there is now is downvoting a question, which costs reputation yet has no really apparent impact on the question or questioner.
Without the ability to have community policing, it comes down to this: What is your incentive not to ask an unresearched/incomprehensible/etc. question?
In mailing lists, it is something like shame (for better or for worse). You may do it once, but after the very public response you get from the list, you're unlikely to do it again. If one wanted to go nuts along this lines, you could put SO users who ask poor quality questions (as judged democratically by other users) on question probation, visible to all -- a cone of shame. Then provide ample resources for them on how to ask better questions, and let them earn their way back out of question probation by improving their existing questions.
Clearly, neither of these is the whole story, but I think either could help.
The general point is: Provide mechanisms that reward users for asking good questions and for answering good questions, and that don't reward (or punish) users for asking bad questions and for answering bad questions.