Processes can work on a batch apex error platform event or Status alert platform event. Both of them serves a unique purpose.
Process builder can not only be called on insert or update of a record but also for specific platform events or whenever it is invoked.
Not exactly but process builder triggers an email consisting of flow errors to the admin in case of discrepancies.
Yes, updating multiple fields works like a charm in process builder.
The method should be static with @invocableMethod annotation.
Sending an outbound message which is generally, a very rarely used functionality.
If a workflow rule is on account, it can’t be done. If workflow is on contact, and it being not a master detail relation, it can’t be done. You may have to use process builder for this job.
Workflows do not have a great UI whereas as process builders have a rich UI for the criteria in terms of flowchart like structures.
It can do most of the tasks done by workflows plus creating a record, calling an apex method, posting to chatter, submitting for approval etc are additional.
Sharing settings dont come into picture here. Workflows generally work on all data in the org but not on the basis of user shared records. You can restrict the workflow execution by placing a region criterion in the workflow rule so the workflow would not touch any other records.