Answer
Separate, limited pools of threads or connections for each dependency (or kind of work), like the watertight compartments of a ship. When one dependency gets slow, only its pool fills up; calls to everything else still have resources, so one bad dependency cannot take the whole service down.