Whitebox switches for the win. Last datacenter I worked in we ripped out all our juniper, cisco, and mellanox gear. Went all in on cumulus. The fact that everything is linux made automating everything a breeze. Templated switch configs, automated deployments and upgrades, virtualized switch OS to test config changes via CI.
It's decoupling the hardware from the software of the switch.
Historically, you buy a Cisco switch, you run IOS (or NX-OS).
You buy a Juniper switch, you run JunOS.
A company called Cumulus came around (https://en.wikipedia.org/wiki/Cumulus_Networks) and changed a lot of that (they aren't solely responsible and there are other reasons why but they are very important here).
At the same time, instead of each switch vendor making their own chips, Broadcom started making generic chips which they would sell to anyone (Lookup Broadcom Trident), so, many switch vendors started using those instead of custom silicon.
At the same time, many people started talking about network as code and doing overlay networking things with control planes that didn't fit into the normal models for how these switches worked and were configured (configuration and routing changes which happen in milliseconds over custom protocols instead of ssh to switch and "configure, set route ..." etc etc).
The convergence of this was that the network hardware and network software got decoupled and commoditized. You could buy a Juniper OCX (the OCX line was specifically for this) and install Cisco NX-OS on it if you wanted.
Broadly this was a really good thing for the networking industry IMO.
Also, all of the above generally only applies to the what people refer to as switches (though they can and do route), and not routers (think BGP edge routers) proper (which can and do switch) and are broadly still custom silicon ASIC with much more bespoke and advanced feature sets and can only run the vendor's software.
I have an SRX1400 cluster with nearly 11 years of uptime. But this is the bare metal BSD-based firewall. When later, Juniper started adding a hypervisor layer on SRX platforms, and I started having problems.