I live in an European country and I think especially since the eighties Europe have much more changed than America did. We had a very deep transformations of our society towards the American life style and we copied the American way to put 'market' everywhere. Good ol' European counter-capitalistic socialism is nearly dead.
So I think the main thing that has changed for America is the number and the power of it competitors.
While I think those "German engineering" cliches are rather tired (and wrong, cf. Dieter Rams influence on Apple products), I don't see a big difference regarding complexity between Cappuccino and Qooxdoo regarding complexity. Both seem to embrace the desktop paradigm, both have an API that's close to traditional GUIs (very close in the case of Cappuccino).
(And it's not really that much easier getting graphics-intensive stuff done in Cappuccino, compared to something like Raphaël.)
Cappuccino just looks better by default. It shares this advantage with ext.js, compared to the e.g. Dijit (and qooxdoo). Whether that's actually worth that much is a good question, considering that any respectable outward-facing webapp is bound to have a style of their own and plenty of designers to make that happen. In that regard, I thin Cappuccino might be even more suited to intranet enterprise applications, where there's not that many designers around and having a default good look is definitely worth it (and having things look like a desktop app is actually an advantage).
In the end, the big difference is between the desktop way of doing things the more common jquery/dojo/YUI enhanced-web page style.
That is a very interesting and true take on the matter, i would say that most mac related creations are very stylish. Whats your thoughts on the sproutcore framework relative qooxdoo?
very interesting but also full of intimidating stuff:
"[...] For requests to the main website, the load balancer ships your request off to one of the four frontend machines. Each of these is an 8 core, 16GB RAM bare metal server. Their names are fe1, …, fe4. Nginx accepts the connection and sends it to a Unix domain socket upon which sixteen Unicorn worker processes are selecting. One of these workers grabs the request and runs the Rails code necessary to fulfill it. [...]"