Microsoft still deserves criticism for designing their old word formats so badly. It was a design choice to turn documents of mostly text into obscure binary formats that were badly standardized and maintained.
There was (contrary to popular belief) not a deliberate strategy to limit interoperability. It was simply the reality of the approaches utilized that made them tightly coupled to the MS Word codebase and less standardizable than would have otherwise been ideal.
Source: one of the guys who worked on it at MS.
They were effectively working at embedded scale, trying to capture state within tremendously limiting constraints.
This is a case of interpreting past decisions based on current criteria, when those same conditions would have prevented modern methods from being implemented.
I would love to see some modern devs try to write software for a 68000 system with only 512K of memory