Well, i agree and disagree with f0dder.
In the past, one ran applications on the local computer, on top of the computer's operating system. The operating system is the main platform which provides the functions that the local program calls to do things (display a user interface, interact with file system, etc.)
The browser is making real inroads as a platform for running applications, for a variety of reasons. A major one is that it has solved an issue that the operating systems makers have failed to solve -- platform independence. The web standards have made it more or less possible to write a browser application that runs the same on mac, linux, windows.
The other appeal of applications running through web browsers instead of being coded directly for local operating system/binary executable, is the ability for such web applications to run as thin clients doing most of their work on the server backend.
For me, i view these things as much as a mark of failure for modern operating systems and programming languages as a success for browsers.
While some people have predicted that we will eventually move to all pcs just being thin-clients which are running web applications that do most of their work on large backend servers, i have a view that might be called the strong-programming-language view. I hope (and expect) that the continuing evolution of programming languages, and a universal cross-platform user-interface api will unify many of these issues.
That is, I hope and expect that we will eventually rid ourselves of this evil of platform-incompatibility, so that the cross-platform interoperability, and distributed nature of browser-based programs, will eventually be fully supported by full fledged programming languages. So that all applications will be essentially cross platform, 0-install, and will be designed to run both in a local mode and distributed client-server type mode.
Another way to say what i'm trying to say is that right now we use BROWSER programs that run on our local operating systems, and in the browser we load a page to serve an application. I believe in the future that the "browser" features that make these programs attractive will evolve into a common LIBRARY used by programmers, instead of being a standalone all-purpose browser program. So you wont open your "browser" and go to gmail to check your mail. You will open your gmail program which could be coded in any of the new languages and would run on any pc, and would be as easy to code as it's web based alternative.
To put it another way:
I believe in the future the browser as we know it will stop being a platform for so many different applications. I believe we will see the features of current browsers incorporated into programming APIs, and then go back to differentiating between surfing the internet using a browser, and using "applications" which will have all of the benefits we currently associate with services that run in browser windows.