This is a case where incentives, in the way that HNers use the term "incentives", don't work.
The cost of a domain name is supposed to dis-incentivize buying up domain names simply to squat and/or serve ads, but clearly the price isn't high enough to dis-incentivize that. And we can't raise prices, because then it dis-incentivizes legitimate users. The problem is that the cost of domain names is a larger dis-incentive to legitimate users than it is to domain squatters.
If a domain is $10 and a squatter sells domains for $100, then they only have to sell 1 in 10 domains to break even, so risk is very low: they don't have to really be overly concerned with only buying domains that will sell. And that's a simplistic model: the reality is that squatters have much more sophisticated valuation models, and have therefore have much higher profit margins, keeping their risk even lower. Sometimes domains sell for tens of thousands of dollars.
Meanwhile, the risk is very high for a legitimate user. If you have a company or a nonprofit, you basically have to choose a name that's marketable, memorable, relevant to your business/nonprofit, and unique, on the first try. This can literally make or break a business. And once you have that name, there's basically only one ideal URL for that name: yourbusiness.com or yournonprofit.org. So you have a supply of one and a demand of this might make or break my organization so cost can be pretty much "what is the maximum you can pay?". As such, if the max you can pay isn't enough for the domain squatter to want to sell, you just don't get the domain, and your organization gets a sub-standard web presence.
I don't think we can overestimate the impact of this problem. I've worked for a company which owns your-business.com rather than yourbusiness.com (these are examples obviously--it would be unprofessional to give out actual names). Their marketing is very explicit about the dash, and potential customers still end up at the squatted non-dashed domain, which is only getting more expensive as the company becomes more successful. Luckily their value proposition is large enough, and clients sophisticated enough, that the friction of actually getting to the site isn't as large enough barrier to prevent growth. But if your business is a lower-margin business with less sophisticated clients, that would be a big enough barrier to prevent success entirely.