This is a common misunderstanding that you are updating the same node on the publisher.
What is actually happening is that you are creating a new version of the node when you activate it and on the publisher, you then insert the new node instead of the old one. If you look at the jcr:content of your node in the Publisher, then you will notice the properties jcr:baseVersion, jcr:predecessors and jcr:versionHistory that are all of the type Reference (or Reference array). Take a look at them nodes and you will find the "old ones". There is a lot of things going on under the surface when creating the nodes. Same thing happens on the author side.