Closed questions aren't necessarily supposed to stay around forever.
On the non-Beta Stack Exchange sites, two days after a question is closed a "Delete" link goes live on the question, allowing users with more than 10K reputation to vote to delete. (This two day window allows the Asker an opportunity to edit their question and vote to re-open.)
Only some closed messages should be kept around. Duplicates should normally be kept in order to maximize the search terms that can be used to find the information. Questions that are almost exact duplicates should be merged.
Almost everything else, though, should be deleted. After all, if it had worth it wouldn't have been closed. If you think it did have worth, of course, vote to re-open.
In any event, your moderators can't be everywhere at once. If you see an old, closed (non-duplicate) question that needs deletion and you can't vote to delete yourself, please flag it for our attention.
Edit: Perhaps now that we have a bunch more people who can vote to delete, maybe we can get rid of some more of the egregiously awful questions. I like to use this search and go to the last page to get the lowest-voted questions. Of course, not all of them deserve deletion (and the "closed as duplicate" should stay) but it's a good place to start. Or, if you've a mind to see what else other people have voted on there's the delete tool.