Drupal - What is the difference between the Workbench and Workflow modules?
Workbench gives you an intuitive and friendly user interface to control content (nodes)transitions on a previously defined states on a role based access control means that every transition to the node from a state to a state for the role authorized to perform that transition, with the ability to create new transitions and states.
You won't get that feature unless you enabled the workbench moderation module.
Workbench access module allows you set sections, editors, roles (defined using a menu items or taxonomy terms) to work on the description above based upon the permission given for the role to work on workbench functionality which gives you a generic out of the box role based access control to previously define workflow to manage content publishing process.
Workbench media provides integration between media and the Workbench suite. It simplifies the pages content administrators need to visit in order to add media which makes workbench files module useless and becomes depricated.
Workflow seems to be more powerful and provides you with one form to create and define workflows and manage states, transitions, assign roles, set labels for transitions and how states will be listed and logged read that awesome article
Besides have integration with many helpful modules may be used in your project in the future like og, rules, views and search_api due to the dependency on drupal entity system allows to set workflows defined to other entity types not limited to nodes.
Actions on each transition could be tied and notification created for users in concern like group members and admins or high level managers.
At the end each of the two modules have very good functionality that deserves showing respect to maintainers, Workbench focus on content closely to E-magazines and online news portals or forums, Workflow pay attention on the process thinking of workflows as business rules required and may be helpful in ERP, CRM and E-commerce like systems some how.
Finally close to scope of that question I found a very simple module provides ability to add custom publishing states with integration to rules and views, specify defined roles to transition nodes between states.
I hope that review helps you determine what is the best module for your project.
Workbench is the module for Drupal 7. It's easier to use and more intuitive, but from my latest experience revisioning support (ref) is still a feature request.
Workflow is older and has more features, including revisioning support, but is more cumbersome to use.
Both these modules are basically used for the same purpose but their architecture is what differentiates them. Cant exactly compare which one is better out of them but based on the requirement i choose the one which will make my life simpler. Some of the key highlighter for both of them are:
- Workbench: relatively simple, preferred if the number of steps and number of workflows are less, provides dashboard.
- Workflow: workflow field which references the workflow, multiple workflows are kept completely separate, simple for a site maintainer to alter the workflow.