Can multiple users edit a node to create several different revisions without being able to publish them?
The Workbench module with Workbench Moderation seems to do what you require. Users create drafts, which can then be markled for review. Once an admin reviews the content he can choose to publish it, update it or send it back to the user for further work. Each user has their own drafts, so different users can have drafts of the same document. 

You can have as many stages and transitions as you want, so you could have a reviewer role who reviews content and sends it off to a publisher role to be published.

Workbench is Drupal 7 only, but Workflow seems to do similar things for Drupal 6, although I've got no experience with it personally.