Well, it's more than just different render engines, it's different anything. Being "standards" that work for "everything" they can only contain information that is going to apply to every 3D modeler, like "here is a vertex, it is connected to these vertices, the normals point in this direction", because every software package has a way of defining that data. It can't say "here is a Corona material" since not every package has Corona available, or installed if it is available, or a material that has all the same parameters even if they are named differently - but also can't say "here is a 3ds Max noise shader" because not every software has a noise shader (and if it does, it's not all defined by the same parameters), or "here is a Siger Shader" because not every software has Siger and not everyone will have it installed even if the software package has a version of Siger available, and so on.