Try to build something that deals with the amount of data that Google has, as quickly as Google handles it, with everything distributed, replicated, load balanced, and with failover to keep the site up when bad things happen anywhere in the system. (Which happens more often than we would like.)
Before you're done you'll have built a lot of pieces of software that do different things that have complex little dependencies on each other.
Now iterate that through many generations of development, and build some other systems that tackle similar problems.
Do that and you'll discover why Google's infrastructure is complex.
Quick, slightly off-topic question. There's a belief in the industry (I think wrongly) that pretty much the only way to build big complex systems, you need a central "Enterprise Architect" to model all the business processes and use those to drive down to the technology.
As somebody external to Google, it seems to me that this approach largely does not exist at Google (or if it does, it exists only for particular isolated pieces). Is this true? Or rather? What's Google's method for containing, directing and handling this complexity if it's not a traditional EA thinking process?
Before you're done you'll have built a lot of pieces of software that do different things that have complex little dependencies on each other.
Now iterate that through many generations of development, and build some other systems that tackle similar problems.
Do that and you'll discover why Google's infrastructure is complex.