I think this is a principle of the separation of interface and implementation: the user sees the interface and does not need to care about what the implementation is -- how simple or how complicated, and in what way, as long as the implementation does the job of what the interface is supposed to provide.
Take the example of a watch. When you look at your watch, you don't think about the implementation at all. All you care is your can tell the time by the hour and the minute hand, and that you can change to a stop watch mode and button A can start it and button B can reset it -- if it can provide the functionality of a stop watch. The interface can be very simple, and sometimes as simple as possible. The implementation, can be complicated... such as if it has circuitry to sync up with atomic watch signal in various regions of the world, by using millions of transistors to do the job well -- but the user wouldn't usually care what the implementation is. All the user may care is a simple to understand interface of the watch: to look at the watch's face and within the blink of an eye, be able to tell what time it is.
As to why the code can be so big, besides the auto-suggestion mechanism, which includes a throttling mechanism so that not every keystroke will cause a request to Google's server, there are also the Google+ share which has Photo, Link, Video, Event, each with different handling. So although the page can be clean and simple, what the page can provide is a lot more.