No resistors, few components, relatively little loss in the control circuitry and works with non-ideal inputs.
Switching and sensing can be done on the high, low or mixed side.
The general purpose sensing and switching transistors can be swapped out for darlingtons, if desired.
Unfortunately BJTs have a V_ce of around .78 V, wasting a bunch of the power at the sensing and switching transistor