In theory, custom CSS is a neat idea, but it’s typically a one-and-done project that is difficult to update, and in most cases, an inadvertent “fuck you” to users who rely on the built-in accessibility of native elements.
Also, custom CSS by users is effectively them placing a code freeze on the frontend.
If a better way of doing things comes along (which is a given in the tech world), you either improve the core site CSS and break the customizations (and hear all about it from your users); improve both (which is a ton of work with no tangible difference in what’s rendered to the page), but now the people who made those customizations need to up their CSS game (which rarely happens); or you do nothing and let entropy run its course and do a total rewrite some day. The last one is literally what happened with new Reddit.
Always, but I’m a former Googler, so performance was always a huge concern with each and every frontend change we made.
Rendering something to a page without errors should be the starting goal, where you then shift focus to readability, accessibility, maintainability, interoperability - all that other stuff that actually matters more but is opaque to users - but in most cases, it’s the end goal, and all that other stuff isn’t considered at all.
IMO, the web would be a lot better if frontend devs spent more time learning how to use their tools instead of logging everything to the console.