To add to your thoughts…
The benefit of agile is that it can change the direction of the development if situations or expectations change. This solves the problem of waterfall, when a client changes their mind, or the market changes rapidly for example. This seems to work because we now live in more changeable times, I suppose.
Agile also mandates that individual contributors are responsible for software development. A film has a director (vision) and producer (implementation), so I suppose there can be higher quality when a smaller group control the direction. Part of me wonders if developers created Agile (and particular Scrum) to remove the power of top down management and empower themselves. I see that Design is not even mentioned in the Scrum process so this would be telling of how self-serving it is.
For the drawbacks, it is worth reading the Agile Elephants in The Room, which was created by the same people who created the agile manifesto but 10 years later. They felt Agile had introduced some of the same problems that you outlined. I tend to agree.
http://tracks.roojoom.com/r/93384#/trek?page=1
Agile is still much better than waterfall though. I just believe “Working software” should not be the biggest measure of success — this is completely wrong, in my opinion it should be desirable, usable software that is cost effective to build.