You have quite a valid point there. Because of the restrictions of current in-browser programming, we should use installable software whenever possible. An unhosted calendar app should never be an alternative to an installed calendar app; only to a /hosted/ calendar app.
The (sad?) truth is that end users seem to like web apps. The functional restrictions on in-browser apps make them more distributable ("installation" without root access), and that is apparently what end users value. See also http://rww.to/idBbxI about this trade-off.
Programming for the browser limits us to using JavaScript, doing communication over http, having a window (or tab) open for each app that runs, etc. This is far from ideal, you're absolutely right.
But I'm not saying this undesirable situation cannot be fixed in the long run. We hope the unhosted web will be a temporal hack, a stone in the road back to more software freedom. We try to overhaul the concepts of "website", "web app" and "SaaS". If we succeed, then the next step will be overhauling the concept of "browser".