The fact that every port used to be different is actually a feature, as it helps you identify which device supports what based on the ports it had. If you see an HDMI port on a laptop you can be sure it's going to output some kind of video signal over that. If you see Thunderbolt then you're sure the machine supports Thunderbolt.
USB-C just jams all these incompatible standards into a pin-count-constrained port (so they can't even all fit in, and trade-offs need to be made) without any way for the user to tell nor select which features should be enabled on which port.
My 12-inch MacBook for example has a USB-C port just like the MacBook Air and Pro, and yet if I plug in a Thunderbolt Display it won't work on the 12-inch one but will on the Air and Pro. As a user there is no easy way for me to tell the 12-inch Macbook's USB-C port is different than the Air/Pro unless you explicitly search for it in the tech specs (which is counter-intuitive as the whole point of USB-C is to be universal so in an ideal world you wouldn't/shouldn't even think about searching that).