I basically agree with @amoeba's reasoning. The rest of this post is just elaboration.
As a matter of expedience, I think it makes sense to down-vote old questions (posted more than 12 months ago) which are off-topic, low-quality, or too broad to be answerable. It takes five people to vote to close a question, but just one person to move a question from 0 score to -1 score. As a matter of policy, SE deletes questions with negative score and no answers (or no answers with positive score) on approximately a weekly basis. On a less-frequent basis, 0-score questions are deleted under certain conditions. It's not a very efficient use of resources to have 5 people involved in closing a years-old question that asks for code, or "which test do I run?".
There's a reason that I advocate down-voting old questions specifically. The closure queues are primarily oriented around giving recently-active users useful feedback on how to improve a question. Recent questions which might be off-topic or otherwise unsuitable should absolutely be placed in the queue so that active users can receive that feedback and improve their questions. We want to encourage new users.
In all cases, duplicate questions should be closed as duplicates, so that our canonical content is ranked highly by search engines & are otherwise more visible to users.
My overall philosophy regarding down-voting is that it should be rare and carefully considered. This is because down-voting is pretty strong negative feedback.
Down-voting that is not accompanied by a considered request for clarification or other context is inscrutable to the person who received the down-vote.
Because we need more answers, and therefore more answer-writers, I am particularly cautious about down-voting of new users. Today's new user could be tomorrow's high-value contributor.