Use Process Builder for things that workflow rules cannot do. For example you might use process builder to:
- Create a record
- Update a related parent or child record
- Use a quick action
- Invoke another process
- Launch a flow
- Send an email
- Post to chatter
- Submit a record for approval
Processes support multiple action groups. For example, if the opportunity moves to closed-won do one set of actions but if it moves to closed-lost another set of actions.
Use Approval processes if a change to a record needs to be approved by a manager.
Visual workflows can be used to build guided forms which support the salesperson. This can update multiple related records in a way that you configure.
Apex triggers are what to use when declarative features don’t allow what you want to do. For example, you can create records of unrelated objects based on certain criteria.