Criticism of Google App Engine for lack of backwards compatibility with status quo web stacks misses the point. GAE's use case is interoperable small pieces that scale, not traditional monolithic web apps.
As a platform for startups, rather than the enterprise, GAE makes a lot of sense.
I'm not sure I'd build anything more than a startup prototype on AppEngine. The biggest reason is that I don't like being dependent on one company for "cost of scale". With no hosting competitor for AppEngine apps, if google decides to raise prices you're screwed.
It seems best suited for small, focused applications that are developed quickly and expected to live hard and die young (lots of traffic for a short amount of time).
I can also imagine applications that designed for the user to be able to install it on their own AppEngine account. Maybe something like Wordpress for GAE, or imagine a distributed/federated version of Twitter. People might find a new app very useful, but have concerns about investing time and effort in an application from some startup that could vanish on short notice. If they had it instaled on their own app engine account, they'd at least have a chance to move their data over to another application before entropy took its toll.
As a platform for startups, rather than the enterprise, GAE makes a lot of sense.