Academics always want to have everything uniform. So many specs for data start out clean but end up so messy specifically because they try to cover literally everything. Schema.org is often made fun of for its "fax number for a volcano". And it's a perfectly valid point. They want perfect uniformity in all locations and since a location can have a fax number and any landmass is location, then oceans and volcanos get confusing fields. This isn't really the worst part however. The worst part is that they try to specify "everything you will need" which means anything outside of the standard will need some messy extensions system. To add a single field like last active eruption, you need an extension which requires a separate file to describe that extension, and developers are dissuaded from this extra work. At that point a non semantic method of markup is much easier. Honestly schema.org is only useful because Google says they read it this format for their quick answers to things. Which means developers only use it where they need it. If you don't need to do so, why add a complex mess to your code.