Seriously, _what_ are they gaining by eliminating access to third-party clients? If they want usage data, they already have all the API calls. If they want more ads, they can change the APIs to inject them.
Reddit wants freedom to arbitrarily change the design of their app and placement of ads, etc. Ads are a huge (primary?) source of revenue for them.
If they are tethered to supporting third party clients, it's harder to make reasonable estimates of how many captive users will see ads or new features.
Reddit could enforce ad presentation in third party clients, but to appease advertisers Reddit has to make guarantees around visibility. It's not enough to check if third parties are calling the correct API, they will actually need to regularly audit all third party clients.
It really isn't worth the time or effort if you can just charge third parties the cost to cover loss of ad views.
Except that's not what Reddit is doing here. They're charging 3rd party clients ~21X what they lose in ad views, pricing them completely out of the market.
To look to the Twitter example, even when I used a third party Twitter client before Elon came onboard, old Twitter were regularly playing silly games with issuing auth tokens to third party clients, for all of the same reasons.
At this stage I view third party clients as nice to have for major free web service APIs, with the expectation one day it will probably stop working. Reddit doesn't owe anyone a public API, as much as I will miss third party clients (big Narwhal user here).
And maybe they will soon learn that they are not owed an audience.
If the API is solely for your own consumption, this can be simpler, and of course third party clients are harder to monetize as the kinds of ads you can serve are going to be restricted to what you can force a third party client to receive and render.
If the number of users on third party clients is really low, all of the above can carry more weight in internal business case style discussions too.