Why doesn't Scrivener use proper Microsoft Word styles?

That is certainly not the case. There is extreme flexibility in how the compiler works, and the “philosophy” is to give the user latitude. As an example directly addressing one of your perceived issues, during the V3 beta for macOS there was a lot of discussion about whether implementing heading and other style mappings should be automatic in DOCX output (I initially advocated it should by default), but the valid decision after much deliberation was that this introduced more limitations and potential problems for existing users (as AmberV alludes to above). There was nothing lazy about it. If Scrivener limited the routes of output flexibility, then you certainly would get a bunch of us complaining! The compiler has been designed so it can map styles and headings to DOCX (see AmberV’s post or also this thread); it can switch paragraph spacing for Markdown (§24.13 of the manual) , and you can get beautiful HTLM output (hint, use markdown)… Perhaps some more opinionated documentation how-tos about what the “best” route for each of these outputs would be helpful?