The rules module allows site administrators to define conditionally executed actions based on occurring events (known as reactive or ECA rules). It's a replacement with more features for the trigger module in core and the successor of the Drupal 5 workflow-ng module.
Example use cases
Build flexible content publishing workflows changes
Send customized mails to notify your users about important
Create custom redirections, system messages, breadcrumbs, ...
And many more...
Modules may use the rules module's API to provide new events, conditions, actions, rule sets as well as default rules, which can be customized by users. Check out the developer docs.