https://help.salesforce.com/articleView?id=sf.process_advanced_considerations.htm&type=5
This post has some examples. Worth a read.
This is what I gathered:
If you have a process builder that is set to fire when “a record is created / updated”,
And in the actions, you are actually updating a field on the same record,
When a new record is created, it fires the PB the first time,
Then a field gets updated and the PB fires for the same record for the second time.
This is powerful and dangerous at the same time. 🙂 The design considerations mentioned in that post are worth considering!