Drupal is a very powerful publishing system. In fact, it's pretty hard not to stumble across many modules which will help you create an awesomely powerful publishing platform. Drupal distribtions, such as Managing News, have already packaged a handful of modules which get you started right off the bat.
If your publishing needs are simple and straight forward, then you may just need a handful of uself modules.
One of the default features in Drupal is the baked in revision system, which allows you to track any and all changes to any given node (which is any given piece of content - if you're not familar with Drupal speak already).
Using this default system, you can easily track what changes have been made to your site's content. However, unless it's just yourself creating the content, you may need to facilitate a review process. This means you may go through many drafts before you're ready to release an updated node.
Creating an intermediate draft in Drupal is simply a matter of using the Save As Draft module. While its initially sparse interface is a bit confusing, the features it provides may be exactly what you're looking for if you'd like multiple people to contribute updates to a node and save the release process for a higher level of access.