It all starts with the origins of the web. Tim Berners Lee specified that his purpose with HTML was to make it platform-agnostic, which is why it is quite easy to learn and use. As we know, this history ended up creating the idea of the web: a place where you could consume and share anything you wanted based on open standards with nothing more than a Wi-Fi connection.
Now, the nature of the web is way more different than other media such as music, print or video: in those, the creator controls the whole process and how the end users will consume it. Conversely, it is the consumers who control how they consume the information on the web, because of its openness and goal to be accessible to everyone no matter their physical disabilities, devices, intentions, preferences... You name it.
The browser has to handle all the aforementioned variables and more in order to give something to the end user, and this is where CSS comes into play, and is why the style sheets are cascading: because all the variables go through this cascade and result in something that can be given to the end user.
So we are getting nowhere trying to control the width of a box across devices, or complaining about the overflow default behaviours, or how our
height
height
declarations are causing issues: this isn't about controlling, this is about flexibility. It's ok to have CSS as a non-required presentation layer, but we have to accept it
The bottom line is that as developers, we have to think about CSS as a way of communicating our intentions to the browser, not how it must literally behave. Let him do that for you
Love it or hate it, CSS is weird! It doesn't work like most programming languages, and it doesn't work like a design tool either. But CSS is also solving a very weird and unique problem: What does it mean to "design" in a medium that is appears on everything from tablets, laptops, and TVs to braille readers, watches, and headphones?