Undo reverses the last action. The undone action then becomes a Redo.
For instance, you might move an embroidery and then Undo the move. You could now Redo the move or do something else. If you delete the embroidery instead of using Redo then the Redo is lost, along with any other Redos that may have followed.
This is because Redo only works if nothing has happened after the last Undo. It is not possible to Redo the embroidery movement as something different has happened instead.