Performance vs. ease of deployment
There's an ongoing tension between performance and ease of deployment.
When the PC came around we got improved performance, at an accessible price point, but gave up the advantages of a having a single centralized system to deploy to. Score one for performance.
Then the web, and webapps, came around; you could assume that everybody had a browser installed - it became part of the core OS; if you were a business and wanted to add an app to your stack, you could deploy it in a central location, link to it from someplace, and be done with it.
Performance was good enough, so ease of deployment won this round.
Today, app stores shifted the balance back to native apps. Deployment is easier so the extra performance you get on relatively limited mobile devices is definitely worth it; you could also argue that the shift from keyboard and mouse to direct manipulation interfaces - touch - made the extra performance crucial.
Interestingly, the app stores are moving also to full blown computers.
So, I'd say today we live in an age of focus on performance.
Of course, stuff overlaps.
Webapps were never really up to Microsoft Office standards (Google Docs is good enough for a lot of stuff, but not a full replacement), so office suites will probably jump from the direct deployment age to the app store (Apple's Pages, Numbers and Keynote already did that).
And Facebook is now pursuing a native app strategy on mobile platforms (because "web app wrapped in an app" performance wasn't good enough), but will probably remain an webapp for desktop usage, where performance is ok.
It's a matter of time until ease of deployment takes the spotlight again.
Native app stores can improve; for instance, they don't provide a fully seamless upgrade experience.
When a new version of Twitter-the-web-app is deployed, you can be sure that everybody will be using it in a matter of hours; when Twitter releases an update on the Play Store or the App Store, it's up to the user to accept the upgrade (even on Android there's no guarantee that automatic updates are enabled), so older version will linger around for a long time. I'd be surprised if that's not tackled in the coming years, by moving to a Chrome-like background upgrades.
But webapps will keep the advantage of not requiring the stamp of approval of a third party.
HTML5 web standards like Application Cache and IndexedDB enable web apps to start up as fast as native apps, and work offline; other standard like WebGL, WebRTC and, to some extent, CSS3, expose native capabilities in an highly efficient way, and will bridge the performance gap to native apps.
In my opinion, it's a matter of time until web apps lead gain - but that time is measured in years.