I'm surprised that nobody mentioned that Stack Overflow rules have changed over the years. The broad but interesting questions (those closed for "historical significance""historical significance") that are now instantly downvoted were what made me so addicted to this website.
The rules as they are today almost induces low quality questions and answers. Why is it rare to see a good question nowadays? I would say because there are almost no good questions that fits the rules.
People will downvote and tell you to avoid broad questions, search more before asking, debug properly, or narrow down the issue, but if you do that then you don't have to ask the question because you will probably find the issue by yourself, which is great, but if everyone did that then SO would be almost dead. There are very few tough questions that you can't solve without searching or debugging.
Each time I see a user who knows how Stack Overflow works, what questions should be asked, and look at his profile, I see that he hasn't even asked 10 questions even though he's been there for two years.
I know, Stack Exchange is a vast network and there are now other places to ask these questions. But these restrictive rules have IMO reduced the overall quality of Stack Overflow.
I read GameDev from time to time and noticed that the rules aren't as restrictive. The most upvoted question is How can I effectively manage a hobby game project?. Ask the same question on Stack Overflow, and it will get downvoted to hell in five minutes. But these are the kind of questions that anyone likes to read.
My thought is that creating specialized sites like "Super User" or "Server Fault" were great, but it wasn't a good idea to create other Stack Exchange sites for opinion-based or broad programming questions.
Let me explain it a bit better. The problem is that even if we successfully teached all Stack Overflow users how to write good questions, 100 bad questions will not become 100 good questions but rather one good question. When going through the process of writing a good question you have to try different solutions, do some research, and so on. So most of them will find the solution by themselves and will not need to ask the question anymore.
So what would be left? Stack Overflow with 50-100 times less questions would become less active than other Stack Exchange sites, which is why I say that the rules are too restrictive.
I also think that experts enjoy reading, asking or answering broad and opinion-based questions, which may be why they are leaving as these questions are now considered bad.
So my suggestion would be to merge "Programmers" with Stack Overflow, or whatever site that will allow these questions closed for "historical significance" to become on-topic again. I know it's a big change, but my opinion is that small changes will not be enough to stop the process that is going on.