Workflow vs Flows vs Process Builder vs Triggers When to use What?

We can automate business processes by building applications, known as flows, that collect, update, edit, and create Salesforce information. Then make those flows available to the right users or systems

Flows can either require user interaction—perhaps a wizard or guided UI for data entry—or run in the background on their own—perhaps something that automatically transfers records when a user’s role changes

Process Builder:
“We’re no longer enhancing Workflow. We still support your use of workflow rules, and will continue to do so. But all new functionality for the workflow use case will come through Process Builder. If you want to use the shiny new functionality, migrate your automation to Process Builder”

A trigger is a feature of the Salesforce platform consisting of Apex code that executes before or after DML operations
Apex can be invoked by using triggers. Apex triggers enable you to perform custom actions before or after changes to Salesforce records.

Let’s say after sometime, requirement came to calculate and update field on that object. Considering timeline to deliver this requirement, team decided to choose Workflow field update over modifying existing trigger. Consider that workflow rule is written to execute every time when record is either created or updated
Now, whenever any record of custom object “SomeObj__c” is updated or created, chances that trigger will execute will be “four times” because of sequence of execution.
When record is created or updated trigger will execute twice (before and after event) and after that workflow field update will cause trigger to execute again (before and after event)