An example transaction on a blockchain that reorganises partway through. Watch the confirmation count drop back to zero: that is why finality is a separate idea.
You sign the transaction on your own machine with your private key. Nothing has been sent yet.
It waits in the mempool, a public queue that anyone can see. Others can pay more to go ahead of you.
It is included in a block. That is one confirmation, but it is one block producer's view, not yet agreed by the network.
A competing block wins this slot. Your block is dropped, the transaction goes back to the queue, and the confirmations drop to zero.
It is included again two slots later. Nothing was lost, but anyone who acted on the first confirmation acted too early.
Enough of the network has confirmed it that reversing it would cost more than it is worth. Only now is it final.