When you duplicate a smart object the way you would duplicate a regular layer, you are not actually making a unique copy of that smart object. Instead you are making a reference to the original smart object. What this means is that if you change the duplicated smart object, the original will change too. This can throw off a lot of people, and even lead one to keep multiple layers in one smart object and toggle the layers as needed.
There is however a simple solution for this. In the layers pallet right click the smart object and instead of clicking Duplicate Layer, click “New Smart Object via Copy” and voila!
My own opinion is that it would have been smarter for Adobe to have a “New smart Object via Reference” and have the “Duplicate Layer” act as a unique layer, but maybe there’s a good reason for it being the way it is.