Shift Register Programming with 8 and 16 bit drivers
While the 595's outputs can either source or sink current, it's limited to 70 mA total into or out of the chip and requires a ballast resistor for each LED it's driving.

The 16CP05 can only sink current, but each of its outputs can sink 100mA with a total of 1600 mA going through the chip's outputs to GND.  On top of that, its outputs are constant current sinks and only a single resistor is needed to set the output current for all of the outputs.

As for the differences in the programming protocols, they're easily ferreted out by perusing the data sheets. :-)