An instance is a completely interchangeable clone of the original. Modifying an instanced object is the same as modifying the original.
Instances are not only alike in geometry, but also share modifiers and materials. When you change one instance by applying a modifier, for example, all the other instances change with it.
Each instance has its own set of transforms, object properties and space warp bindings—these are not shared among instances.
Within the program, instances derive from the same master object. What you're doing is applying a single modifier to a single master object. In the viewport, what you see as multiple objects are multiple instances of the same definition.
If you wanted to create a school of swimming fish, you might begin by making many instanced copies of a single fish. You could then animate the swimming motion by applying a ripple modifier to any fish in the school. The whole school would swim with exactly the same motions.