I know X3D was supposed to be more than just an XML format for a scene description. Like, I think there was supposed to be an object repository, and specialized viewer applications, all under the X3D name. The branding was classic early-aughts confusion of "name everything the same thing, cuz it's 'integrated'!"
I think X3D mostly suffered from being too much, too late. Most of the VR stuff you'll see in the browser now is either developed in Three.js or Babylon.js (or exported to one of those two). "Good enough, available now" won out. Plus, the whole anti-XML movement kinda put a damper on anything with "X" in the name (though X3D did start discussing a JSON serialization format, I don't think it ever left draft stage).
For the most part, people serialize scenes to GLTF files these days (or a Wavefront OBJ, if they're scrounging models off the Internet). GLTF has a compressible binary format that makes comparable scenes a lot smaller.
One might draw a rough analogy to GLTF => PNG, OBJ => GIF, X3D => Jpeg2000. It just never got enough adoption.