"Popular" usually means that supporting many use cases. Many use cases means a lot of code. Probably means increased complexity. Tailored hyperspecific firmware is much more usable now and maybe you can even formally verify it.
"Now"? It's always been that way. Most developers just didn't want to admit it because it meant more work and that their past existing work was shite.
Sounds like it wasn't very usable
And that is why it is now more usable. More affordable.