CEC on the flip side is wired only, only works with certain devices, and its success is dependent on manufacturers coming to some sort of agreement. CEC is missing some sort of bridge, something where other non-CEC devices can control everything on the bus. Something that can remap buttons for specific devices.
CEC has also led to a lot of devices outright not adding IR remotes to their setup anymore, which makes any sort of external control 100x harder and prone to failure. I have an LG OLED TV, Pioneer AV receiver, and an Nvidia Shield. My choices for remotes are either the Shield's terrible Bluetooth-based remote that eats 2xAAA's every week, or the LG's magic wand where anything other than the TV doesn't support the pointer and tons of buttons can accidentally be pressed resulting in webOS rearing its ugly head on my display (with ads as a bonus!).
With IR in the mid 2000's I could get a Harmony that would control every single device in my cabinet. If their database didn't have a remote's profile, you would have to learn the extra buttons and program it, but you could do it. There were certainly downsides, like activities were poorly planned and the lack of a bidirectional communication meant that the remote was often out of sync for what devices were actually on.
Honestly, as much as the post trashes on USB, I would almost want CEC's capabilities to be a part of USB. Let me route my USB keyboard, mouse, remote, gamepad, whatever to whatever device in the chain. Let me remap any of those buttons to talk to a specific device in the chain. Basically, let me have a KVM that relays inputs based on configuration.