The browser has been our main tool for consuming the web ever since the very beginning. It's still the most efficient tool to access massive amounts of data coming from various resources, but a couple of years ago browsers suddenly encountered some serious competition when apps started to emerge. Browser vendors and html enthusiasts countered with a knee-jerk reaction in order to compete with apps, the question remains whether that was the right way to go.
browser vs app
Even though apps and browser compete for the same audience (ie everyone using the web), they often fail to realize that they both have very different goals. A browser is a tool constructed for massive data consumption. It's anything but single-focus and it allows you to quickly get all the data you need. Apps are made for single-focus, smaller data consumption. Apps are mostly single-purpose tools that remove the cruft of a browser and get the single unit of data you need to you as quickly as possible.
It's a pretty important distinction that demonstrates the pros and cons of both approaches. Apps are great to replace sites you want access to at all times (Facebook/Twitter), but they suck when you need to find something random or you want broad input on a problem (like product reviews). Browsers are great if you want to gather lots of data and you don't really know where to look, but they suck when you want to quickly consume a single unit of data with known location.
And yet, when you look at the war being fought between apps and browsers these days, 90% of the battles are fought over pointless design or functional quibbles that have little to do with how the technology can best serve its users. Worse is the fact that browser performance and stability is seriously suffering because of that.
Remember the days Netscape and IE were fighting for dominance? Well, today there are five main browsers, five main OSes and a never-ending list of hardware to deal with. One of the most annoying things is that browser-families fail to act consistently across different platforms. If something works in Firefox Windows, you can't trust it to work in Firefox OS X. If something works in OS X Safari, that doesn't mean it works in iOS Safari. Surely OSes are partly to blame (Apple's iOS restrictions for example), but browser vendors still have a responsibility in this matter. I get that it's hard to abandon a popular (mobile) platform just because the platform's owner is actively trying to shun you, but in the end it's the user that suffers.
front-end feature creep
It's not that these new features aren't nice, at best they slightly improve the overall user experience, but for now they are a serious attack on the stability and performance of browsers. That and the fact that partial support and lack of proper fallbacks are actively hindering people finding the content they are after. Sometimes I open a page in Opera (yeah, I switched) and don't even comprehend what I'm seeing. Having to open Chrome to see what these Picasso-like layouts are all about is the saddest user experience one can imagine.
It doesn't really help that Firefox and Chrome update themselves every 6 weeks without a single word of warning. I've come to a point where I don't really trust new releases of browsers to behave the way they did before, then again, we can't check all our sites in full every time a new browser version is released. That would be a full-time job considering the current variety of browsers and platforms. So stuff that worked before might break in cutting edge versions of new browsers, is this really 2012?
Rather than focus on what they're good at, browser vendors are spending a lot of their time competing with very specific functionality, sacrificing stability in the process. I can't remember ever having so much trouble browsing the web even though my demands changed very little in the past 10 years. I still want to find the info I'm looking for, as quickly as possible. Most of the time apps won't give people that, so they're hardly life-threatening competition.
Technological advancement is nice and needed, but not at the expense of stability and user experience. Maybe the problem is the way we define user experience nowadays (focusing on transition effects and looks rather than speed and lack of friction), but browsers should be smarter, not giving in to every whiff and whim of the development community.