Some things in Dominion happen at a particular time, e.g. "At the start of your turn." Normally there will just be one of these happening at a time, and when the time comes you do the thing.
Sometimes you have multiple things to do at the same time. In this case you get to order them. Mandatory abilities have to be done; public optional abilities are optional, but at some point you have to decide to do them or not. Reactions from hand (not e.g. Tunnel, Faithful Hound) are secret optional abilities; as other abilities resolve, you keep having the option of doing the Reaction until you decide not to do anything else. If a new thing appears to resolve at the same time as the other things you are resolving, it becomes part of the list of things you're resolving right then; for example if a Hireling appears in play while you're resolving "At the start of your turn" abilities, you will also resolve that Hireling then, though you can still order other "at the start of your turn" things ahead of it.
Sometimes something happens to multiple players at the same time; the players go in turn order, starting with the player whose turn it is. Normally there's just one thing, e.g. "Each other player gains a Curse," and you just resolve it for each affected player in turn order.
Sometimes there are multiple things for multiple players to do; in this case you go in turn order still, but after each thing resolves you start back with the first player in case anything new appeared for them to do, or in case they changed their mind about a secret optional ability. At any point at which two players want to (or have to) do things at the same time, the first player in turn order goes first.
Sometimes a new particular time is relevant in the middle of resolving abilities for another time. For example you can be resolving "At the start of your turn" abilities, and have one of them gain you a card, with a Watchtower in your hand that could then be used. When this happens you switch to handling the set of things for the new particular time, and when done with all of them return to handling things for the original one, including any new things that have appeared in the meantime. So in this example you would handle all "when you gain a card" abilities, then go back to handling "At the start of your turn" stuff. Of course a new time could be relevant in the middle of doing "when you gain a card" things and so on.