An update system can prepare a new version separately and then switch the active version through a controlled operation. The aim is to keep the prior complete state available when preparation fails rather than exposing an incomplete installation.
For example, an application can prepare a complete new release before changing which release starts. Recovering application code is distinct from reversing every data migration. The update design must specify what is covered and how incompatible or interrupted changes are handled.
ELI5
An atomic update is designed to make a complete change at one controlled point. It avoids leaving the system halfway between two versions.
For example, a program can prepare its new files first and switch to them only when ready. That does not automatically undo separate changes to its stored data.
Does atomic mean the update takes no time?
No. Preparation can take time; atomicity concerns the complete transition of the covered state.
Does it guarantee every migration can be reversed?
No. Data changes and their recovery need their own compatibility and preservation design.

