As an app developer I’ve run into the same problem. There are amazing apps out there; Sonic Wire Sculptor is a work of art. Google Goggles and Word Lens are also brilliant. These are not my apps, however I do recognize the elegant design and capilbilities. What is the best way to market an app so you only reach people that want them?

The problem is that one has to fork over the money based on five still images, when the value in the app is the interaction. That's why so many developers are trying the free app with in-app purchases model. After experiencing a successful app I'm more willing to pay for it.

People are complaining because they don’t know what they are buying and have probably felt tricked a few times by apps they thought worked the way they wanted, but didn’t.

With coffee you are pretty sure you know what you get. And in the case its awful, you can complain pretty easily by saying it face to face to a waitress. Maybe even get you money back or a different coffee.
With an app its a big hassle to complain. You have to find illusive emails or big company bureaucracy which no one in their right mind would do for $2. They would rather not fork over the $2 and try to find a free alternative.

I rarely buy apps, but I will admit I've spent more money on apps for my phone in the last nearly 2 years than I have spent on software on my computer in the last six years. (That is one of the nice things about Ubuntu… I don't have to pay for it.)