The perceived simplicity of the format (driven by the naivete of the implementation) played a significant role in making it popular, but lays a minefield of bugs and ambiguities for implementors especially if they want any combination of sanity and interoperability.
Being great at designing a format and writing code are two different things: one can be great at once while being terrible at the other.