A label is removed on the router before the last hop within an MPLS domain.

PHP optimises MPLS performance (one less LFIB lookup)

PHP does not work on ATM (Virtual Path Identifiers/virtual channel identifies cannot be removed)

The pop or implicit null label uses a reserved value when being advertised to a neighbor.