> At this point you should view CSS like assembly, convenience functions go at a higher level.
CSS isn't assembly; it's higher level than that. I get why some want to treat it like a low-level language but it's not that, which is pretty obvious if developers take the time to understand CSS at a deeper level than just something a preprocessor spits out.
Also, CSS has to work in environments where using a preprocessor isn't an option—it's not just for glossy VC-backed websites. A preprocessor and all of the other tooling front-end developers use aren't an option for the vast majority of content management systems and wikis for example.
1. You don't have to use it if it doesn't seem useful to you.
2. Many developers (me included) use Sass and other preprocessors so they can use nesting; it's probably the single most popular feature of Sass.
3. CSS doesn't need nesting but a lot of developers want it, as it improves the developer experience for writing complex selectors.