The other day, I encountered another one of those "USB-C is such a mess" rants.
Messiness is in the eye of the beholder. But let's look at the facts, and come to some definitive conclusions about those.
The issue is that there is one USB-C connector, but very many different host/device capabilities and a good selection of cable capabilities, too. I think in our circles we can assume that people will be at least somewhat informed about the capabilities of their computers and peripherals, so the issue is whether a cable will support the intended type of use.
The stuff below is what I understand from reading Wikipedia and other sources. I'm sure there are mistakes. Please fix those and put in additions where that's useful.
First, a quick look at USB 1.0 - 2.0 and 3.x.
The original USB connectors (1.0 - 2.0) all have four contacts: two for power (0 and 5 V) and two for data in the form of a differential pair. That means that bits are transmitted as the difference between what's on contact A and what's on contact B (rather than using one signal contact/wire and a common ground).
This can happen at 1.5, 12 or 480 Mbps. (Called "low speed", "full speed" and "high speed".) Communication is half duplex: the host (computer) and peripherals take turns sending and receiving over that single differential pair.
USB 3.x upped the speed to 5 Gbps. For this, it adds another ground contact and four contacts for two additional SuperSpeed differential pairs (a.k.a. "lanes"). This makes USB 3 full duplex: you can send and receive at the same time.
The old USB 1.x/2.0 stuff is also still there and can be used at the same time for something else at the same old low / full / high speed half duplex.
So let's map that functionality to the USB-C connector (Creative Commons attribution):
The power is now spread over 4 ground and 4 "VBUS" contacts (A1 / A12 / B12 / B1 and A4 / A9 / B9 / B4, respectively). I assume this is necessary to be able to carry 5 amps over those tiny contacts, and in USB cables it's just two thicker wires that carry the power.
The original low / full / high speed are on both A6 + A7 and B7 + B6 on the connector end. However, the cable only connects either the A or B pair. CC1 and CC2 are used for capabilities negotiation, either through simple resistors or through a chip in the cable.
So a USB-C cable that can carry power and USB 2.0 high speed data is nice and simple, probably only using four wires just like an old school USB 2.0 cable.
However, USB 3.0 was just invented along with USB-C, so we need to implement the two SuperSpeed lanes for transmit and receive. Just like with the old school half duplex lane, this is done by wiring each differential pair twice. These are TX1+/TX1-, RX2-/RX2+, RX1+/RX1- and TX2-/TX2+ on the sides between the GND and VBUS.
Just like with the legacy differential pair, the two SuperSpeed lanes only have to be wired once in the cable. Depending on the connector rotation at each end, you end up using either the A or B send/receive pairs.
At some point the 5 Gbps SuperSpeed got (optionally) upped to "SuperSpeed USB 10 Gbps USB 3.1 Gen 2" over the existing lanes.
But then: why don't we use a cable that wires all four of the high speed lane connections on the connector side. So this gives two lanes. With 5 Gbps per lane this results in USB 3.1 Gen 1x2 = 10 Gbps. With 10 Gbps per lane you get USB 3.1 Gen 2x2 = 20 Gbps. However, it looks like the dual lane SuperSpeed USB never got any traction in the market, so in practice you get USB 3.1 Gen 1x1 = 5 Gbps or USB 3.1 Gen 2x1 = 10 Gbps.
So for just USB, you need a cable with just the power wires, the correct CC1/CC2 power negotiation stuff, the legacy half duplex lane and one TX and one RX SuperSpeed lane.
But of course USB-C can do so much more than just USB through the use of "alternate modes". I'm sure there are tons more defined, but the two relevant alternate modes are DisplayPort and Thunderbolt.
DisplayPort can use 1, 2 or 4 of the high speed lanes to carry DisplayPort image data. In practice, if you have a recent system, you can get 4K60Hz over two lanes and then you still have two lanes left for SuperSpeed USB. (DisplayPort lanes are all used in the same direction, i.e., from the host to the display.)
However, on older stuff, such as my 2018/2020 Intel Mac Mini and ~ 2020 HP Z27 USB-C capable monitor, you need to use all four high speed lanes to carry DisplayPort to get 4K at 60 Hz. So that leaves legacy low / normal / high speed USB for the monitor's USB ports, or going down to a 30 Hz framerate and then the monitor's USB ports can run at 5 Gbps.
So for DisplayPort, you probably need a cable that wires all four high speed lanes.
The sideband contacts (SBU1 and SBU2) are also intended to be used with alternate modes. I don't know if they're actually required.
Thunderbolt also assumes two lanes in each direction. So you'll also want a fully wired cable for Thunderbolt use. Note that various Thunderbolt versions can reach even higher speeds than 10 Gbps per lane. However, this may be limited to very short cables or "active" cables with chips on each side to manage the cable properties.
I got the impression that it's also possible to run Thunderbolt over just one send and one receive lane rather than two of each, but I could easily be mistaken about that.
Also note that rather than using DisplayPort directly over USB-C as an alternate mode, it's possible to encapsulate DisplayPort inside Thunderbolt and then you reach some level of bandwidth sharing. See Apple's Thunderbolt displays from a decade or so ago.
Conclusions
Messiness is in the eye of the beholder. But let's look at the facts, and come to some definitive conclusions about those.
The issue is that there is one USB-C connector, but very many different host/device capabilities and a good selection of cable capabilities, too. I think in our circles we can assume that people will be at least somewhat informed about the capabilities of their computers and peripherals, so the issue is whether a cable will support the intended type of use.
The stuff below is what I understand from reading Wikipedia and other sources. I'm sure there are mistakes. Please fix those and put in additions where that's useful.
First, a quick look at USB 1.0 - 2.0 and 3.x.
The original USB connectors (1.0 - 2.0) all have four contacts: two for power (0 and 5 V) and two for data in the form of a differential pair. That means that bits are transmitted as the difference between what's on contact A and what's on contact B (rather than using one signal contact/wire and a common ground).
This can happen at 1.5, 12 or 480 Mbps. (Called "low speed", "full speed" and "high speed".) Communication is half duplex: the host (computer) and peripherals take turns sending and receiving over that single differential pair.
USB 3.x upped the speed to 5 Gbps. For this, it adds another ground contact and four contacts for two additional SuperSpeed differential pairs (a.k.a. "lanes"). This makes USB 3 full duplex: you can send and receive at the same time.
The old USB 1.x/2.0 stuff is also still there and can be used at the same time for something else at the same old low / full / high speed half duplex.
So let's map that functionality to the USB-C connector (Creative Commons attribution):
The power is now spread over 4 ground and 4 "VBUS" contacts (A1 / A12 / B12 / B1 and A4 / A9 / B9 / B4, respectively). I assume this is necessary to be able to carry 5 amps over those tiny contacts, and in USB cables it's just two thicker wires that carry the power.
The original low / full / high speed are on both A6 + A7 and B7 + B6 on the connector end. However, the cable only connects either the A or B pair. CC1 and CC2 are used for capabilities negotiation, either through simple resistors or through a chip in the cable.
So a USB-C cable that can carry power and USB 2.0 high speed data is nice and simple, probably only using four wires just like an old school USB 2.0 cable.
However, USB 3.0 was just invented along with USB-C, so we need to implement the two SuperSpeed lanes for transmit and receive. Just like with the old school half duplex lane, this is done by wiring each differential pair twice. These are TX1+/TX1-, RX2-/RX2+, RX1+/RX1- and TX2-/TX2+ on the sides between the GND and VBUS.
Just like with the legacy differential pair, the two SuperSpeed lanes only have to be wired once in the cable. Depending on the connector rotation at each end, you end up using either the A or B send/receive pairs.
At some point the 5 Gbps SuperSpeed got (optionally) upped to "SuperSpeed USB 10 Gbps USB 3.1 Gen 2" over the existing lanes.
But then: why don't we use a cable that wires all four of the high speed lane connections on the connector side. So this gives two lanes. With 5 Gbps per lane this results in USB 3.1 Gen 1x2 = 10 Gbps. With 10 Gbps per lane you get USB 3.1 Gen 2x2 = 20 Gbps. However, it looks like the dual lane SuperSpeed USB never got any traction in the market, so in practice you get USB 3.1 Gen 1x1 = 5 Gbps or USB 3.1 Gen 2x1 = 10 Gbps.
So for just USB, you need a cable with just the power wires, the correct CC1/CC2 power negotiation stuff, the legacy half duplex lane and one TX and one RX SuperSpeed lane.
But of course USB-C can do so much more than just USB through the use of "alternate modes". I'm sure there are tons more defined, but the two relevant alternate modes are DisplayPort and Thunderbolt.
DisplayPort can use 1, 2 or 4 of the high speed lanes to carry DisplayPort image data. In practice, if you have a recent system, you can get 4K60Hz over two lanes and then you still have two lanes left for SuperSpeed USB. (DisplayPort lanes are all used in the same direction, i.e., from the host to the display.)
However, on older stuff, such as my 2018/2020 Intel Mac Mini and ~ 2020 HP Z27 USB-C capable monitor, you need to use all four high speed lanes to carry DisplayPort to get 4K at 60 Hz. So that leaves legacy low / normal / high speed USB for the monitor's USB ports, or going down to a 30 Hz framerate and then the monitor's USB ports can run at 5 Gbps.
So for DisplayPort, you probably need a cable that wires all four high speed lanes.
The sideband contacts (SBU1 and SBU2) are also intended to be used with alternate modes. I don't know if they're actually required.
Thunderbolt also assumes two lanes in each direction. So you'll also want a fully wired cable for Thunderbolt use. Note that various Thunderbolt versions can reach even higher speeds than 10 Gbps per lane. However, this may be limited to very short cables or "active" cables with chips on each side to manage the cable properties.
I got the impression that it's also possible to run Thunderbolt over just one send and one receive lane rather than two of each, but I could easily be mistaken about that.
Also note that rather than using DisplayPort directly over USB-C as an alternate mode, it's possible to encapsulate DisplayPort inside Thunderbolt and then you reach some level of bandwidth sharing. See Apple's Thunderbolt displays from a decade or so ago.
Conclusions
- All USB-C cables can carry 3 amps of current. In most cases that means you get a maximum of 60 W power delivery.
- Any type of USB-C to USB-C cable may be 5 amp capable. These cables are usually thicker and stiffer than other cables with the same data capabilities. In most cases this means you get up to 100 W power delivery. The latest stuff can go up to 240 W.
- There are probably some power-only USB-C cables. I haven't seen any USB-C to USB-C cables that can't do USB 2.0 speeds, though.
- Cables that are primarily meant for power usually only do USB 2.0 speeds.
- There are probably USB-C cables that can do USB 3.1 gen 1 or USB 3.1 gen 2 5 or 10 Gbps Superspeed but have no or limited DisplayPort and/or Thunderbolt compatibility. Good luck identifying that limitation, though.
- "Thunderbolt" USB-C cables will unlock all USB-C capabilities (although perhaps not 5 amps power delivery).
- However, there is nothing special about Thunderbolt-capable USB-C cables: they're just fully wired USB-C cables.
- The trickiest thing may be finding USB-C cables that can handle high DisplayPort resolutions at high framerates, as there are multiple ways to achieve that: higher DisplayPort data rate = higher DisplayPort version on two lanes vs an older DisplayPort version/speed over four lanes.
- All of this would still be worse without USB-C.