There were a few other things (conflicting standards such as ACP vs WAC), but the JSON-LD was repeatedly the thing that developers found hard to wrap their head around. "How do I create a schema?" is a pretty normal question for an application developer, when you're used to working with traditional web app stacks. "Oh, it's JSON" and then they learn, nope, it's not: every property is optional, every property is one value or an array of values. The JSON-LD learning curve is so high that even people I think know it, generally go "yeah, nah, I still don't fully get it"
So to develop an application with JSON-LD you basically need to deal with garbage in hopefully data out. It's not familiar nor simple to 99% of web developers. It's an incredibly niche community of people who actually get it, and they tend to work at companies who really benefit from the properties of JSON-LD.