Ideally, closed questions should not stay closed forever. Instead, one of two things should happen:
the question is edited into shape and reopened, or
the question is clearly off-topic or otherwise unsalvageable, and is eventually deleted.
The main exception to this rule are questions closed as duplicates, which generally should be kept as "signposts" to direct visitors to the "canonical" version of the question. Duplicates are different from other closed questions in many other ways, too, and should really be considered as a separate case.
In fact, the Stack Exchange engine automatically deletes closed questionsautomatically deletes closed questions that have not been upvoted and don't have upvoted or accepted answers. (This also happens to non-closed questions that have been lying around for a very long time with no answers, upvotes or signs of activity.)
Despite this, in practice, most Stack Exchange sites do seem to accumulate a considerable backlog of closed-but-not-deleted questions. This is mostly harmless, as long as those questions stay out of the way, but they do sometimes clutter up search results or otherwise get in the way. When you spot such questions, you can help keep the site clean by voting or flagging them for deletion (or, of course, by editing them into shape, if you think they can be made into a good and on-topic question).
Anyway, the upshot of all this is that, IMO, the only good reasons to edit a closed question that I can think of are:
because you think you can fix it so it can be reopened, or
because it was closed as a duplicate, but needs some fixing (e.g. retagging) to serve as a good signpost.
In most other cases, if you come across a poor-quality closed question, you should simply vote to delete it (or flag it for deletion, if you lack the rep to cast delete votes).
As a particular special case, if a really poor question happens to have a good and on-topic answer, my suggestion would be to edit the question to match the answer (rewriting it from scratch, if necessary!), which should hopefully make it eligible for reopening. Alternatively, if the question is a duplicate (even if it wasn't closed as such), you can flag it for moderator attention and ask for the answers to be merged to another, better question.