1. Most people just want a website to work. (I know I do) 2. Because how are you gonna do support on a website when the website looks different for everyone involved? Are you only going to offer support for the basic text version? In that case, aren't you still kind off deciding how it looks, only now it looks ugly? 3. Branding. You want people to instantly recognize your product/brand. 4. To push features you want to be used, for better (handy new ones) or worse (advertising, generating bullshit metrics).
Probably a lot more than, but these just popped in my mind.
You can do both. Offer CSS, but keep the site usable without it. The same goes for every feature: JS, images (fallback to alt-text), etc. Non-HTML resources should usually be optional enhancements.
Over time, browsers have ceded more and more control over layout and colors to web developers, and got busy burying/deprecating the browser-side defaults... to the point where user preference is an afterthought now, and almost universally ignored by sites. Now you have to use big hammers like disabling CSS and JavaScript in order to have any say as a user. Nobody likes when your native desktop application's UI ignores your system default colors and forces their own color scheme, yet this is acceptable on the web.
Yes, I want to set a style, once, and have it used by every site on the internet that I access.
The idea of the user agent dictating presentation rather than the content author is kind of dead on today's modern web; while it's certainly possible to set a global stylesheet, doing so creates an incredibly frustrating game of trial-and-error as some websites break while others work fine.
The idea does live on outside the mainstream in ideas like Gemini, Gopher, and a small subset of the Web that focuses on textual content with very conservative progressive enhancement.
I wrote about this previously: https://seirdy.one/2020/11/23/website-best-practices.html
Most websites should be able to work just fine with nothing but HTML. That doesn not mean that they should actually be just HTML (my website certainly isn't); it means that enhancements like CSS and JS should be progressive. Exceptions exist, obviously.
I interpreted this as OP being tired of having to rewrite the awful CSS of most websites.
This is obviously for a specific type of user who is very very much the minority. Any idea that this would work for a broad audience should be thrown away, because your friend Steve in sales doesn’t give a shit about writing their own CSS.
I think what you have left after that is serving two different versions of your content. One has its own styling and the other does not. Don’t pretend that the markup isn’t tied to the CSS, and that the unstyled version just doesn’t apply CSS, because there will always be coupling between the two for any moderately complex site. Just have two deliverables and be done with it.
Of course, duplicating the content is suboptimal. You could have a source of truth for the actual content of the site that is used to build deliverables with, employing a clever build process.
I mean, I’ll just stop there because this sounds like way too much work, being put on the content creator to satisfy an insanely small number of their users. If you want to style the content on your own, just do it. Delete all style sheets and inline styles and apply your own. It’ll be hard work, and the markup will be all wrong for that type of work, but it can be done if it’s really really necessary.
The "modern web" and associated software is designed to take control away from users, so that authors can slowly give back an illusion of it.
I've always been writing my own CSS for sites whose style but not content irritated me. Mostly when they change to some idiotic fad, so I can put it back.