Because we have learned to deal with the quirks.
Just like we learned to work around the shortcomings in IE6 and IE7. I recall we managed to make functioning web apps even for IE6, using polyfills and various hacks to get things to work. How we managed, I do not know, but we did.
Even though we have learned to work around and deal with the glaring holes in CSS, does not downplay how broken the global scope concept is. Sure JS in CSS does not fix the problem, but it makes it does prevent a whole lot of potential clashes because another developer working on a different feature decided to name his selector “container-wrapper” as well and mess up my layout.