When objects and shapes are created, each vertex and/or face is assigned a number. These numbers are used internally to determine which vertices or faces are selected at any given time. This numerical arrangement is called topology.
When you select vertices or faces and apply a modifier to the selection, the modifier stack keeps track of which faces/vertices the modifier affects. If you later return to the selection level of the stack and change the selection, you change the topology to which the modifier is applied.
For example, by carefully setting various parameters, you could make a box and a cylinder with the same number of vertices. You might then think you could use the box as a for the cylinder. However, because the two objects are created with such different methods, the vertex numbers on these objects would be ordered very differently. Morphing causes each numbered vertex to go to its corresponding place on the morph target. In a case such as this, with two objects with such different topology, morphing from one to the other would cause the object to crumple or turn inside out as it morphs.