After speaking to many users who have been moderating this site clean many, many times, and after some thought, I came to the conclusion that the current custom off-topic reasons do not represent the real reasons questions need to be closed. One by one:
Questions about general computing hardware and software are off-topic for Stack Overflow unless they directly involve tools used primarily for programming. You may be able to get help on Super User.
If it's on-topic on Super User, it should be migrated there. If it's crap enough to not be accepted there, it shouldn't be closed with this close reason. This reason is moot.
Questions on professional server, networking, or related infrastructure administration are off-topic for Stack Overflow unless they directly involve programming or programming tools. You may be able to get help on Server Fault.
Exactly the same as above. Replace Super User for ServerFault.
This question appears to be off-topic because it lacks sufficient information to diagnose the problem. Describe your problem in more detail or include a minimal example in the question itself.
This reason is exactly the same as "Unclear what you're asking". UWYA should be upgraded with instructions on what to do.
This question was caused by a problem that can no longer be reproduced or a simple typographical error. While similar questions may be on-topic here, this one was resolved in a manner unlikely to help future readers. This can often be avoided by identifying and closely inspecting the shortest program necessary to reproduce the problem before posting.
This is the only reason that currently has some merit.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
This reason is very similar to "primarily opinion based". There are some differences, but it's basically the same.
These "Go and ask on [some-other-site.se]" have to die. They either belong there, in which case you migrate, or they don't. In which case, close it as something else that's appropriate.
The general close reasons (unclear and opinion based) can and should be rephrased so that they include practical instructions as to what to do "Add more examples, describe the problem rather than the possible solution")
Finding duplicates and creating canonicals should be made easier, but that's a feature-request all to it's own.
I don't know the entire solution to the problem. But the problem is there. Right now, I see a huge amount of questions getting closed as a reason that's about right, that's understandable to the regulars but is incredibly confusing to the user whose question just got closed!
Don't forget who those reasons and those elaborate texts are for, we know the rules, they don't. The point is not to close and forget, but to help educate users so that they'll know our rules and standards, and be able to contribute and get help.