It takes "astronauts" who think hard about the architecture to come up with systems that are simple and powerful at the same time.
the original XML Spec is pretty simple https://www.w3.org/TR/xml/
even if you add in namespaces - still simple https://www.w3.org/TR/xml-names/
The difficulty in XML really came with XML Schemas and the need to wind that in every subsequent spec.
Right now I have a project of potentially infinite complexity and we need to build really fast. A lot of my focus has been finding the very few pieces of bedrock and fixing on those, allowing the rest to vary as our appetite for complexity grows. Start today with an achievable goal, test hypotheses, don’t paint ourselves into a corner. All team comments are how simple it is. That’s by...design.
eg: "everything is a file" maps properly to both physical storage with addressable, streamable content and to the human mind as data reachable by classification (file name). Maybe a revolutionary OS design could better that with "everything is a message", but I think you can understand why one can have doubt on this translation from files.
A "message" tends to have formats associated with it (which is what differentiate it from being just a "file" that's transferred via a protocol). These formats, like JSON, or xml, or whatever new fangled formats kids these days use, now requires architectural astronauting; namely, common field names, or standards, so that different programs would parse them similarly. And now you'd want schemas for those formats, and automatic parser generated for those formats, and more and more...
It's not. Plenty of Unix tools work with binary files.
> A "message" tends to have formats associated with it
It doesn't. At least, not any more than a "file" tends to have formats associated with it.