Weird World.Updatge logic

Hello!
Experimenting with ecs I decided to look into how the world is update and what I discovered there is very different from what I expected. I expected the world to just update root systems in their particular order, but instead is searches for specific groups and update only those groups - Initialization, Simulation and Presentation groups are update. So if my system is not in one of those groups it won’t be updated by calling World.Update. I just wonder, what is the real reason behind this?

Each group runs at a different point in the player loop which is useful for working with engine stuff. Also the groups are hierarchical and use rule-based ordering, though if you want to be explicit about ordering there are ways to do that too.