I believe it's quite simple: Ad money. Those search queries that cannot reliably be monetized with ads are more or less worthless to Google. So they skip indexing those search terms. That probably also implies that search queries where the majority of users use an ad-blocker (that's us developers) will be a very low priority.
I'm not even sure I can blame them. Creating the search index is a huge investment on Google's side, both in terms of time (can't crawl too fast or else they knock the target offline) and in terms of bandwidth, CPU power, and storage space. But Google needs to operate their search profitably, on average, or else they will go bust. In the long term, I predict that this leads to ever more SEO spam and ever more ads as the internet grows and more and more NLP and AI processing is needed to separate the good results from the bad ones. Filtering gets more expensive => more false positives + need more ads to pay for it.
I've been trying hard (maybe a bit too hard?) to stir up a discussion about people actually paying for the search index, because that would allow them to get the results that they want - private and ad-free - no matter if those results are monetizable with ads or not.
In my opinion, that would make for a nice open source project. In case you're curious:
https://news.ycombinator.com/item?id=30374611
https://news.ycombinator.com/item?id=30361385