This is typical for how Postgres adds features and functionalities. They tend to add a new core feature in one release, then add adjacent functionality and performance improvements in later releases.
I'm not on their core developer mailing lists, but I presume this is because of a prioritization of stability over most everything else.
It's also because Postgres work to internal release deadlines.
They'll take a stable half-feature over a buggy full-feature at any given deadline. What matters is that over time they patiently and carefully expand those half features.
The most visible example is the slowly increasing coverage of replication. This JSON feature is another example -- I expect it will grow in future into a fuller feature set.
I'm not on their core developer mailing lists, but I presume this is because of a prioritization of stability over most everything else.