Some closed questions get deleted by the system over time. At 30 days, unlocked and unanswered questions with a negative score get deleted. At 365 days, questions with a score of 0 or less (or 1 with a deleted owner), no answers, not locked, has limited comments, and a small view count will get automatically deleted. The checks are not run daily, but weekly, so there might be a few days between it hitting the point for automatic deletion and it actually getting deleted automatically.
Here on Programmers, we also have the Structured Tag Clean-Up Initiative, which deals with poor tags on the site. Part of this process is also identifying questions within the tag that can not be salvaged and deleting them manually. However, this only addresses one tag at a time. Also, there are closed questions in good tags that are both inappropriate for this site and unsalvagable - these won't get caught by STCI.
Closed is meant as a temporary state. Most questions should not go from closed to deleted quickly. The purpose of closed is to give the community a chance to turn the question into something good, while preventing answers. It's much easier to save a question with no or few answers than one with a lot of answers - edits to a question that invalidate answers don't make sense. The reason is that invalidating answers would lead to answers getting downvoted because the answerer was unaware the question changed and didn't delete or change their answer - these would be unwarranted downvotes.
As an aside, perhaps someone could build a Data Explorer query to show all closed questions, ordered by date (oldest first) and then votes (most negative first). Perhaps an additional piece would be to restrain it to those questions that are at least 3 or 4 months old. Questions that show up in this query could be targets for immediate editing or deletion. I'm not sure if we want to stack this clean up initiative on top of STCI, but it might give us some data to work with.