I've only been an active SE user for a couple of weeks, and since PSE is my favorite one I've been mulling this question over pretty much the entire time (not to mention reading far too many meta posts). Some days it feels like we're closing too aggressively. Some days it feels like you need a bachelor's in Q&A philosophy to tell what actually is on-topic for SO vs PSE vs all the other SEs. Some days it feels like the people writing questions can't construct a coherent sentence, much less an answerable question.
Based on my experience thus far, it looks like the truth is probably the latter: A lot of people are asking a lot of questions which are inherently bad, and they would be just as bad no matter what our scope or name was. There's even an old meta answer on this topic that reaches pretty much the same conclusion.
By that I mean questions which are too vague, broad, or unclear, typically because they don't have anywhere near enough detail for us to figure out what question is actually being asked (often the asker himself doesn't appear to understand it). When it comes to technical subjects like programming, the vast majority of newcomers do not understand that it is impossible to answer a question that hasn't been asked properly. Until they gain the experience to understand that, there's simply no way to respond that doesn't run some risk of them perceiving us as lazy, unhelpful, rude or elitist (though we can certainly lower that risk by being polite) rather than figuring out what they did wrong. This is just as true here as it is on SO and on all the other SEs about semi-accessible-but-still-highly-technical subjects (like security.stackexchange.com).
I really don't think there's anything we could do with PSE's question-asking UI to communicate this fundamental flaw in a newbie's conception of technical knowledge. PSE gets a bit more of it than most because people see it as SO with fewer restrictions, but we're not really that unique.
So what can we do? Newbies are going to ask these questions no matter what, so in my opinion the best we can hope to do is improve our response to them:
1) Try to emphasize that subjective questions still have to be precise, specific and coherent enough to be answerable. This is the number one thing newbies are not getting.
2) Avoid emphasizing "ivory tower" close reasons like whether the question is "useful to other programmers". Newbies don't care about that. I don't care about that. I care about whether or not the question can be answered. If the question is "not useful", most of the time it's simply too broad/vague/unclear (or a code dump), so just say that.
3) When a question is just plain bad, so that it has no hope of being answerable on any SE site, we need to close it quickly. Looking at downvoted questions the front page right now, I see one that got put on hold, and several others that probably should have been put on hold or closed several hours ago.
Edit: Case in point, look at the top of today's front page. Although I'm not sure how I feel about the intellectual property question, the others are fix my code, how do I learn to X, another fix my code, a question about how C socket functions work that probably could've been answered by googling, and a question about Windows filesystem behavior that's nowhere near detailed enough to be answerable.
Edit 2: Case in point again, MichaelT just did the same thing with a much bigger sample size and reached the same conclusion.
Edit 3: Since it's been a very long time since I wrote this, and I recently achieved 10k reputation, it seemed worth an update. To my surprise there is nothing in this post that I have since changed my mind on; it's all just as true as it was back then. The only difference is that I believe we have gotten somewhat better at closing poor questions quickly.