It sounds confusing, but it’s actually really easy to get used and hard to walk away from it. Essentially the undo is just another operation so it can be undone just like everything else, and that’s a redo. Imagine the following situation, I wrote a text, but wasn’t happy with some part, so I select that part and delete it, now I keep writing but I realised I need some part of what was there, so I undo all of the text that I wrote, select the text I want to copy, and accidentally cut it instead of copy it. In most editors that’s it, you’re fucked, you just lost your most recent changes, on Emacs undo does not destroy things, it only adds to the sequence. In other words, as a step by step:
Write text
Delete part of it
Write more text
Undo step 3 (most editors that means go back to step 2, so step 4 is in a dangerous space)
Undo step 2 (again, most editors would have actually gone to step 2)
You’re now in something that looks like step 2, cut the text you wanted (on most editors because you were in step 2 and did changes you can’t ever go back to step 4, because this is the new step 3 and there isn’t still a step 4, so undo and redo will undo and redo the cut of that text)
Undo step 6 (you’re now similar to how you started step 6 or 2, on most editors you are really on step 2).
Undo again (on most editors that would take you to step 1), this will take you to step 5, i.e. you redid the step 2, so the text disappeared and you’re like you were at the beginning of step 3.
Undo again and you undo the undo of step 3, putting you back on original step 4
Like I said, confusing to understand, but it means that you can’t ever shoot yourself in the foot by undoing things.