- The 24 pin connector does not have symmetrical connections. The interface IC senses which way it is plugged in.
- It's still a master/slave system, but either side can be the USB master or the power master. Those need not be the same.
- Who powers whom is an interesting issue. It's up to the OS to decide. There's special support for the dead-battery case - what happens when you plug something with a dead battery into something else? Can you charge your phone from your laptop? Laptop from phone? Tablet from laptop? Phone from phone? It's complicated.
- There's something called the "billboard device", which is the interface IC's mechanism for sending error messages when both ends are not in agreement about modes. The devices at each end are supposed to display this information. Hopefully they do. At least the designers thought about this.
- Hubs are more restrictive. They don't pass through much more than USB mode and power. They don't pass any of the more exotic modes, like HDMI, since those are not multipoint protocols. It is supposed to be possible to pass power upstream through a hub, though.
- Anything with a female USB-C connector has to talk USB-C. It is prohibited to have cables with a female USB-C on one end and some other USB connector on the the other. Male USB-C to other USB is permitted, and will provide backwards compatibility.
- There are extensions defined for "proprietary charging methods" to allow higher current levels. (I wonder who wanted that?)
- There's a mode called "Debug Accessory Mode". This is totally different than normal operation and requires a special cable as a security measure. (In a regular cable, pins A5 and B5 are connected together and there's only one wire in the cable for them. Debug Test devices use a cable where pins A5 and B5 have their own wires and there's a voltage difference between them.) Debug Accessory Mode, once entered, is vendor-specific. It may include JTAG low-level hardware access. Look for exploits based on this. If you find an public charger with an attached USB-C cable, worry. Always use your own cable.
Yeah... I have a battery bank from Anker with two plugs: USB-A and USB-C. If I connect my Nexus 6p with USB-C/USB-C cable, everything is good, phone gets power. But if the only cable I have at the moment is USB-A/USB-C, then phone starts to charge the battery bank.
(I've been designing a board that gets power from USB, and had to read up on all this. The USB power system is complex but well designed, and if all the devices comply with the standards, immune to user mis-plugging. The problem is that doing it right usually requires an extra IC at each USB port just to manage power. A lot of low-end devices don't do all this right.)