Domainers aren't their target audience.
So they say. Of course, they would rather have real end users than domainers, but registries are nonetheless very dependent on domainers and speculators of all kinds. They don't choose their customers, although they can adjust pricing so as to appeal or deter certain types of customers. For instance spammers will always be attracted by low fee (<= $1) extensions.
The parking rate is very high in many TLDs, in some TLDs it's well above 50%. Clearly, they are not all being bought with a development plan in mind.
That's why they don't let their premium names go for $10 just to be sat on for 20 years. They want real end users representing their best names.
It's not the main reason. The reason is, they want a return on their investment.
Ironically, hoarding names like they do is the best way to ensure that these names will never be developed and will collect dust for 20 years
if they really wanted end users, they could award domain names for free or for a nominal fee on a
RFP basis: the end user must present a development project that will enhance the TLD and in exchange they get a 'great' domain. It's been done with .mobi but in the past but I don't think a lot of names were awarded through RFP. Anyway, it didn't make a lasting impact.
Reality is, end users are not lining up for those names.
As for marketing: the registries are not doing much because it is expensive and probably will not translate to a significant increase in sales. Not cost-effective.
Instead they rely on the registrars to promote TLDs in front of their customers. Since there are so many TLDs competing for a share of small pie, I suppose there has to be negotiations and registrars have to be incentivized to prioritize certain extensions over others...
Registrars also have to make a profit and there has to be some volume.
Namecheap dumped .xyz if I remember well. I can imagine that the reason was the low margins on penny domains vs the clerical/legal work dealing with abuse (spam, malware).