Because websites aren't free to build or run. No one is obligated to put ads on their site, sure. They're also not obligated to work for many hours to provide you with free content or pay $X/no to serve it to you.
But they can also have a separate job that doesn't ruin the internet and produce out of generosity, like some of us, free content that is not span ridden.
Also web hosting doesn't cost much when your website is well made with some frugality in mind.
And there are also better, cleaner ways to make money on the internet: getting rid of the ads and spam and having the content accessible to paid members.
While it is admirable that you are willing to produce content out of your own generosity, it seems a little optimistic to assume that everyone making content on the internet is both willing and able to share it for free.
I am somewhat curious to hear more about the better and cleaner ways to make money on the internet, but I have a suspicion that in some circumstances (such as recipes) they may put you at a competitive disadvantage. I certainly have no desire to pay to access recipes I find via Google searches.
We need to find a metric for anti-profitability. I think that index could yield much higher quality results.
Detect sales/commercial language and structure,* and specifically target that for removal from results as if sales-oriented sites were hardcore porn and the child safety filter is turned on.
*Buy and cart buttons/functions, tables containing prices with descriptions but don't look like long-form reviews (which would be it's own filterable tag), etc, and domains trying to obfuscate are blacklisted permanently.
Really just removing all sites with ads would be a huge improvement. Regular old websites trying to sell you something are usually not nearly as bad as those that want to monetize you while pretending to be free.