Objects and meshes are 2 different things, objects are like boxes that are defined by location, rotation and scale (i.e. transform informations) and can contain whatever mesh you want. Several objects can contain the same mesh.
Let's say you have object A which contains mesh X. If you simple duplicate object A (ShiftD), it will create a brand new object, B, that will contain a brand new mesh, Y. Y looks like X but is not X. If you go into Edit mode and change mesh Y, you'll see that it won't change mesh X.
But now let's say that you link-duplicate object A (AltD), it will create a brand new object B, but this object B will contain the exact same mesh as object A, the mesh that we called mesh X. Objects A and B will share the same mesh. You can verify that in the Outliner or in the Object Data panel, and every change you'll make on mesh X will be replicated on any instance of mesh X:
If you want object B to contain another mesh, you can choose this other mesh in the dropdown menu of the Object Data panel, or select the object, shift select the object you want the mesh from and CtrlL (Make Links) > Object Data.
If you have a series of objects that look completely similar, it's better to link-duplicate rather than simply duplicate, it will keep your file lighter as it will count less different meshes.