Actually, they have not simplified application development. Can you develop iOS applications on non-Apple operating systems? Can you develop an Android application that is guaranteed to work on all Android devices? It is an illusion to believe that these companies are trying to make things easier when they are in fact doing the opposite. Whether this is intentional or an unfortunate by-product of progress is quite a subjective discussion.
I think it is time, and as you say, the progress that results that has simplified application development. Is anyone else here old enough to remember the days before hardware 3d acceleration was in devices that fit in our pockets and you had to code your 3d graphics by hand? Things like avoiding floating point numbers in your game loop and using lookup tables for sine and cosine operations really don't exist anymore. And let's not even mention the days before my time like when Atari 2600 games such as Combat were coded in raw assembly.
Are we talking about professionals or hobbyists? A hobbyist might not care, or they may care but just don't have the resources to see it through. I don't think any professional thinks like what you say though. Everyone I've worked with, especially designers, are always changing things. One minute they like this, the next minute they like that. It's an on-going challenge that everyone recognizes and chooses to spend a lot of time on it upfront, or just go with the best they can do and wait for feedback. Neither of which I believe will have an affect on success, unless the product is extremely unoriginal (ie: another tip app).
Yep, for the things I am not great at, such as most graphics work, I just do the best I can and forget about it. I'd love to be able to hire a graphics artist, but until that time comes I'm stuck putting forth my own best effort. That doesn't meant that I don't try, and I don't make revisions, but I don't make near as many revisions or spend as many days trying to get something just right as I do with skill sets that I am better at.
Nobody likes bugs, I can agree with that. But let's not forget that companies like to change APIs, fragment the market, and introduce bugs or illogical behaviour of their own. It makes it difficult to build quality applications without investing more in QA then in development. There are businesses out there that will test your product on 50+ phones. Imagine that, and imagine how that might still not be enough. You bring up a valid point, but simply putting the onus on the developer is a bad way to move forward. Developers and platform creators must work together to build a better platform. I think Microsoft is doing a good job with this, but there's still much room for improvement.
Android is horrible for this. iOS remains relatively consistent. The API does change, iOS 6 completely changed the way autorotation is handled, for example. But its a relatively safe bet that if something works on an iPhone 3, it will work on an iPhone 5 as well. Android, having so many phones and not specific enough standards, is quite a pain to work with. A good example is the Nook color and Nook tablet. The two devices have the same screen size and resolution, but one loads from the large resources and the other from xlarge. If the device doesn't fit the DPI exactly, device manufacturers just guess at the best fit.
I would say start with communication. A person who communicates is also a people person. Often they know what's best or are not afraid to ask questions. An experienced developer that communicates will give you an honest deadline and deliver the product as designed than a wizard who knows only how to speak to the machine, cannot communicate with QA, cannot communicate with management, and cannot connect with the very people he's developing the product for.
Communication goes both ways. Before I cut back on freelance work, I got most of my gigs from sites like Elance. Not only are people not willing to pay realistic prices, but they start adding a lot of things that they want done after a price and time frame has been agreed upon. If I knew where to get higher quality freelance work, this might be less of an issue. But even then, I suppose developers need to choose clients as carefully as clients choose developers.