Different point of view
It's not about the web, Facebook et. al, it's about a common API to write code to, and to deliver applications.
Providing a framework that is common across all platforms, regardless of the OS, browser, machine type is the Holy Grail for application developers. It costs a lot of money to develop an app to run on multiple architectures.
Unfortunately, it would have been better if this had been integrated into the windowing environment, rather than as a layer that sits on top like the current browser based delivery mechanism. What has happened is a last desperate measure to try to wrest control of the user experience away from Microsoft, Apple, KDE and Gnome developers, by adding an abstraction layer above the windowing environment.
Google realize this, which is why ChromeOS effectively eliminates the windowing environment, and is moving this abstraction layer a couple of rungs down the software ladder.
But, unfortunately again, there is still no consensus. We have different people, (Microsoft with .NET, Google with everything they are doing, Facebook etc) all running in different directions, and not talking to each other. The result of this is that we will be left with the browser, with languages like Java, Flash and Silverlight as the lowest common denominators (ah - scratch Silverlight as Microsoft are making it difficult for the Moonlight developers to keep up!) And this will lead us to the same point, just with more layers in the software stack, still with incompatibilities between major offerings.
Of course, the hardware manufactures and network providers are laughing. As all these extra layers soak up extra CPU cycles, memory and network bandwidth, they see repeating markets for new devices to do effectively the same-old-things. Kerrr-ching!
The web *could* be a valid application deployment method. Google, with their Application Engine which allows local caching of applications and when you are off-line is a very usable technology that reduces the need to go on-line. Similar things can be achieved using Lotus Domino (waaaay before Google even existed) and even AFS or DCE/DFS, so application and data caching is not really new ground.
But using a web deployment method does not dictate having an always-on internet feed. It would be perfectly possible for businesses, and even home devices (think NAS or network media devices) serving applications within a closed network, without going out to the Internet. In theory, you could also have an app server installed on the same system where the application will run, using a loopback or similar internalized network. The advantage would be a common deployment method, the disadvantage will be increased inefficiency.
I admit that this fills me with dread. I want to get off the continual grind of new-is-better, with it's back-door to my wallet, and I really don't want to get to the point where the ISPs can hold my data and computer usage hostage to whatever they want to charge me. I like the idea of a standalone PC with network usage features where I control the access, the available resources, and how the data is used. The current model of a windowing framework that allows native applications suits me just fine, but I'm no longer a typical computer user, if I ever was.
This whole thing is reaching a "Stop the word, I want to get off!" threshold. I'll go and get my coat ready.