Devices and cables are just as problematic when it comes to support for “Alternate Modes” and other protocols. These fall under the USB-C specification rather than the port’s data speed specification. These include DisplayPort, MHL, HDMI, Ethernet, and audio functionality provided over the connector, all of which rely on the connected devices and cables to support them. These are not a compulsory part of the specification, as the capabilities and needs clearly vary from device to device. A USB battery pack doesn’t need to support HDMI, for example.
The problem with this is that certain functionality that a user might expect in a product isn’t necessarily provided. Consumers may assume HDMI or Ethernet are supported over a USB-C port if a laptop is missing the regular ports, but that might not be the case. Even more frustratingly, functionality might only be restricted to certain Type-C ports on the device, so you might have 3 ports but only one that offers the functions you want.