Without going highly technical you could think of this file as a map of M3 format. Which purpose is to describe how to turn the binary data behind it, to meaningfull a structure of nodes/elements. Where each node describes different part of the model. What in the end allows it to import/export data to modelling programs, as long as they follow the structure described.
Even though this schema file is ambiguous, as in it could be used by other software, currently only m3addon does it.
Due to complexity of the format, there's still a lot of quirks regarding it unkown/undocumented. Not to mention, it has been evolving through the years since the release (and still is). Each release has been versioned, and brought new features which affected how the binary data is distributed along it.
There's simply no full coverage. The reason why certain models can't be imported, or are imported improperly is because model contains something, that hasn't been documented and included in the schema. Or there are bugs within the code translating already loaded data, into Blender environment.
M3Addon actually attempts to load data in quite a strict mode. And often times, once it encounters something contrary to the schema, it will cease the process and output error. While other importers made for M3 have more speculative import process implemented I believe. And rather skip some unknown chunks of data, and attempt to load relevant sectors in usual manner. What always gives you something - even if incorrect. Other times, they crash hard :)
Anyway, quite often import errors occuring in m3addon can be resolved by just filling missing gaps within the scheme file. Of course that requires some understanding of how is it all connected. Author of the plugin actually documented some of the common problems, and how can they be resolved.
In this particular case, the problem was relatively easy to resolve - even with all things said above, my understanding of m3 format, modelling stuff, and general graphic rendering subjects is quite poor, really. Anyway, the cause of the error was a result of the strict behavior in method responsible of loading mesh vertices. There was one flag not covered by the schema file. And this flag turned out to to be relevant in this case, to get the model right.
Unfortunately author doesn't actively work on the plugin anymore, and no one else competent stepped in to provide furher support for Blender. Partly because there is more focus given into 3ds Max, what's not suprising.
Anyway, while my knowledge on this field is poor as I said, if you want badly some model imported into blender, and it results in error, I guess I could give it it a look.
hmm.. for such a small question, I probably put up too long answer, haha
This actually does help! This does provide some more understanding in the entire matter. In a similar way as you perhaps, I do know how to use the tools in Blender, but as for the code that goes behind it.. I'm utterly lost. Not a programmer at heart or anything so.
Well, reason why I asked is that for some Tal'Darim units and structures and most of the post Nova-Covert-Ops related models they no longer can be imported (at least the ones I tried.) At first I believed the updated xml file accounted for something of these "new generation" stuff that it could be handled but I was wrong there XD.
On the help you offered, I'll be sure to look you up should I come in dire need of it. Thanks man!