Hi,
Although it has already been answered above, below is a simplified example. Let's say you have 3 L3VPNs configured, and there are 3 LSPs towards the remote PE. Thus we have 3 different VPN labels (assume vrf-table-label is configured), say 16, 17, 18 and 3 different transport labels, say 100000, 100001, 100002. Without composite-nexthops the PFE has to be programmed with 3 x 3 = 9 next-hops:
nexthop1: push 16, push 100000, send out interface X
nexthop2: push 17, push 100000, send out interface X
nexthop3: push 18, push 100000, send out interface X
nexthop4: push 16, push 100001, send out interface Y
nexthop5: push 17, push 100001, send out interface Y
nexthop6: push 18, push 100001, send out interface Y
nexthop7: push 16, push 100002, send out interface Z
nexthop8: push 17, push 100002, send out interface Z
nexthop9: push 18, push 100002, send out interface Z
With composite next-hops you will only need 3 + 3 = 6 next-hops and the ability to apply two of them to the same packet:
nexthop1: push 16
nexthop2: push 17
nexthop3: push 18
nexthop4: push 100000, send out interface X
nexthop5: push 100001, send out interface Y
nexthop6: push 100002, send out interface Z
In the case above the advantage is not that big, but if there are 1000 VRFs and 16 LSPs between PEs then you go from 1000 x 16 = 16000 nexthops to 1000 + 16 = 1016 saving precious FIB space and reducing the time it takes to update the nexthops in case of a network event.
The description above is by no means 100% accurate but hopefully it gives the idea.