This module is designed to help Drupal sites share content entities: nodes, taxonomy terms, media entities, and more. Sounds like a budget version of Acquia Content Hub, would be interesting to try.
By default Drupal provides "created on" and "last updated" dates for any content, but this module provides a third date, for when a piece of content was published. Often this is the date that should be displayed on news, press releases, etc.
Sometimes your site needs a more complex workflow than the linear state-to-state options possible using the Content Moderation built into Drupal core. This module allows for conditional logic and a variety of different actions that can be triggered, including the ability to add custom ones to meet your needs.
Sometimes the revision log message can be very useful in the Drupal edit interface, but sometimes you want to keep things as simple as possible. This module provides a variety of potential approaches for either hiding the field completely, or making it available selectively. A nice way to make Drupal's edit interface more intuitive.
If your editors regularly run into issues where multiple users are trying to edit the same piece of content, this module allows for a content item to be "checked out", preventing other users from working on it at the same time. There's also a discrete permission to break the lock on content, in case a high priority update needs to get published.
Sometimes, as part of the publishing workflow, you want to get feedback from people who don't need to access the backend of your website often enough that it makes sense for them to have their own user account. For these kinds of scenarios, where you need "one off" access to unpublished content, the Access Unpublished module is a terrific solution.