Google Docs doesn't have to run on Google servers. It could run on any operating system and work from anywhere provided that you and whoever you want to work with have public IP addresses. But because everyone and everything is behind a corporate or residential router, this avenue is not available unless you are willing to work for it -- and in the case of a corporate network, you literally can't do anything except connect to a third party proxy (or a first party server) in order to be able to talk to your friends' computers. There's also no good way to handle the mobile phone problem, in which your IP address changes every so often as you pass between cell towers.
Ultimately, having each client connect to a centralized server and shuttling data between them server-side ended up being the much better solution instead of the far more attractive option (to users anyways) of connecting to each other directly.
Not saying it’s best for users, but just smarter and more practical from dev perspective.
It may be easier for devs to use the server model, but it's also more expensive - standing up centralized servers that can scale to millions of users is $$$. I think there would be a lot more P2P software competing with server-based software if NAT wasn't a thing, because software companies would be able to build extremely scalable software without having to pay for the hosting costs themselves. While Google Docs has to handle millions of users, if I were to "host" my own document I would only care about handling my friends - maybe two or three or up to a few dozen, but it would be very rare that I would host a document for 1000+ people. Developing an application that can handle a few dozen connections would be much simpler than one that handles millions, I believe.