like any system that gets overly complex, it easily breaks
Bingo - that's exactly what I think has been going on, too.
Many years ago I was part of an in-house "knowledge base" search project for a big brand computer manufacturer. The initial launch of the knowledge base search was OK - but soon every division of the company wanted to see their information at the top of various searches. A note about scale might be in helpful here. This company was big enough to have a group of employees dedicated to standardizing font usage across all documents in the enterprise.
And so, even though this was only an internal, intranet search project, employees began spamming their own documents to the top. Corporate IT kept kludging more and more safeguards into the mix until the whole thing became quite unpredictable and, you might even say, unstable. It just got harder and harder to do simple searches that worked quite well when the project first launched.
So this is not uniquely a Google problem at all. As I learned back then, it happens on a much lower scale, too. This is why I agree with those engineers who keep saying "search is a hard problem". Information retrieval on its own is challenging enough. Put adversarial feedback into the system and you quickly get a real mess. Which we have ;(