Search isn’t Google’s moneymaker, advertising is. And those shitty SEO’d sites are choc-a-bloc with advertising. Google has little incentive to downrank them.
Instead of targeting SEO per-se (as it's difficult to determine a good website with SEO vs a spam website with SEO), target how they're making money.
They're not doing so exactly because they have no incentive.
It's a bit more complicated than that. Even useful sites in commercially related niches use affiliate links as a source of revenue.
I think it's more like that rather than an either/or.
I personally use Bing for 95% of my searches and have done so since it launched. Or re-launched.