There are times when I'm sitting at work, answering questions (and it doesn't matter if it's face-to-face, over email, or via a chat program) when it feels like there is no one who fully understands how our product works. Not me, not the other developers, not my manager, no one!
It's not that nobody understands their part of the project—they do. But there are a lot of parts to the project. There's the front end code (multiple clients) which talks indirectly to the backend code (many moving parts) which is managed by the billing and provisioning code (many many pieces there as well), all written by different teams with sometimes less that perfect understanding of how the other parts work, and mangaged by two more teams (one for the servers, one for the network).
Not to mention the fun we have working with The Monopolistic Phone Company (“We don't have to care!”).
Sometimes, I find it amazing that what we do have works as well as it does—it [1] could [2] always [3] be [4] worse [5].
[1] http://www.wired.com/2010/11/1110mars-climate-observer-report/
[2] https://www.ima.umn.edu/~arnold/disasters/ariane.html
[4] http://en.wikipedia.org/wiki/Therac-25#Problem_description
[5] http://money.cnn.com/2012/08/09/technology/knight-expensive-computer-bug/