Instead of software with features that can do many things, each app allows you to do one little thing, exactly the way the developer would do it. No adjustability. There's no stability, either. I have a tablet from Asus.
In one release of the NY Times app, they changed the fonts so that the "huge" font is now the smalles that I can read. And took away Favorites. I had many articles that I marked as Favorites; they were easy to find and did not disappear when the rest of that day's articles rolled off to make room for the next day. One update and, poof, I lost all those articles that I thought I had saved.
If I were using a plain Web browser, instead, I could adjust size any way I want it and, although the Times is not obligated to keep articles served for more than a day, bookmarks would be valid for months or years.
I just got an Android firmware update for the device. It changed the look and feel of menus. I can't imagine a software company that would completely revamp its interface and expect its customers to acclimate to the new look-and-feel in order to be able to keep using the product.
I had to disable, of all things, FireFox. The updated app can't be installed without giving it access to the path that records audio. Imagine, a system so totally beyond the user's control that you can't specify "No, don't let my Web browser record all the conversations I have in the same room with my machine."
Apps provide convenience and a quick-satisfaction hit, in exchange for control, adaptability, interface stability, and everything that I used to expect from software. There are some apps that are so good that I will continue to use Android, but I shudder to think of a generation of software developers who think that a quick bite of circumscribed functionality is a product.
Imagine if you had to get separate C compilers for assignment, IF statements, and While loops, and there was no guarantee that their interfaces would look anything like each other next week.