Dry Ice cleaning can remove contaminants in a number of ways. Essentially it depends on what you're cleaning.
If you want to remove a brittle contaminant such as paint or rust, the dry ice cleaning process creates a compression tension wave between the coating and the substrate. This wave has enough energy to overcome the bonding strength and literally pop the coating off from the inside out.
If you want to removing a malleable or viscous coating such as oil, grease or wax, the dry ice cleaning action is a flushing process similar to high pressure water. When the particles hit the viscous coating they compress and mushroom out. This essentially creates a high velocity flow that actually flushes the surface and moves the contaminant.
The skill and experience of the operator is important in both types of substrate cleaning as it is essential to have a methodical and progressive flush/movement action/technique.