I love the idea of USB-C: one port and one cable that can replace
all other ports and cables. It sounds so simple, straightforward,
and unified.

In practice, it’s not even close.

USB-C normally transfers data by the USB protocol, but it also
supports Thunderbolt… sometimes. The 12-inch MacBook has a USB-C
port, but it doesn’t support Thunderbolt at all. All other modern
MacBook models support Thunderbolt over their USB-C ports… but if
you have a 13-inch model, and it has a Touch Bar, then the
right-side ports don’t have full Thunderbolt bandwidth.

If you bought a USB-C cable, it might support Thunderbolt, or
it might not. There’s no way to tell by looking at it. There’s
usually no way to tell whether a given USB-C device requires
Thunderbolt, either — you just need to plug it in and see if
it works.

USB-C is a dual disaster. It’s fundamentally confusing because all USB-C ports and plugs look the same, but can have very different features. It’s a fundamental axiom of good design that things that look the same should be the same, and things that are different should look different. USB-C breaks this.

Second, even if you do your homework and know exactly what to look for, there is severe dearth of USB-C products out there. The USB-C hub market is horrendous, but Apple’s MacBook has just one USB-C port, effectively demanding a hub for certain tasks that require external peripherals. Now that all modern Apple MacBooks are USB-C-only, USB-C’s problems are MacBook problems, too.