You missed one major point, specifically why the browser as a universal replacement for local apps will fail, and why more generally the idea of "everything in the cloud" will fail, despite it being quite a major fad among the management types currently.
Interactivity and control.
Until technology takes a giant leap and remote or network data access becomes exactly as fast as local bus data access, locally stored data will always be faster to access than remote data, so any program that requires access to more data than can be locally cached will run better on a local PC. Sure, all processing and the actual program can be located on a remote server and a window presented remotely, but in the case of some programs such as non linear video editors, this isn't a significant bandwidth savings.
Control is the big issue. With governments and other authorities becoming more and more intrusive on the net, and with no solid laws governing privacy of data held by a third party, right to privacy on the network itself, the relative reliability and security of network held data compared to local data, and simple paranoia, maintaining control of your computing resources will always be a must for a large portion of the computing population. So no cloud storage for some things, keep it on your local PC.
Computing resources have always followed a cycle of centralization and de-centralization. Corporations have always capitalized on this as the "coming thing". Managers have always believed them. Cloud computing and the apparent "trend" toward a generalized markup language that can empower every type of application in the world is just another tech trend that will eventually find a niche, but not completely replace other types of computing.
For an interesting comparison, look up and check out industry articles on Java when it was first gaining momentum... at one time we were all going to have local Java machines and all data and programs would be universal and stored online. That idea was actually closer than HTML5 to a generalized non local computing environment.
When I hear someone today say something like "We don't need to build out our data center, the cloud is coming" I have to avoid laughing.
HTML 5 is an improved markup language, but it's still just a markup language. The underlying concept of GET/PUT across the network limits its utility.