Decoupling is the degree to which a software component is independent from its current surroundings. A highly coupled component will depend on various parts of the application, and is thus hard to separate out without also dragging along other components to which it is connected.

A decoupled (or low coupled) component is easy to extract. Imagine a spider web. If you pull a highly coupled component off, it will drag with it many threads of the spider web. A decoupled component comes off easily without dragging any of the threads.