Difference between page update and save?

I‘m building a shop from scratch on Kirby 3 without any database and recently faced a problem with the page->update() method.

When I run the page->update() method multiple times on different methods in a small period of time, it seems that Kirby is overwriting some previous changes randomly. Sometimes the method before is able to store the updated content and sometimes the method after, but it never happened that both methods saved the updated content successfully without any data loss.

I tried to optimise my logic to run the update method less times and only if really necessary at some point, by passing the information to other methods before updating the page. As it happens, a shop can be very complex, especially when it comes to integrate some external asynchronous logic and libraries from the payment providers. So this is not always possible…

I then figured out that I can use the page->save() method with the same syntax instead of the update method and it works like a charm! No data loss between the different steps…

So I wondered if someone knows what the differences between those two methods are? I know that the page save method doesn’t trigger the updated hook, but is this really all and why is one method more reliable than the other, when it comes to update contents of the same page in a small period of time?

What do you mean with methods here?

The save() method is more basic, it doesn’t do any validation, doesn’t trigger hooks etc.