Flash's general architecture makes it a lot easier to create things like 2D games. You certainly can write great games in JS, but it requires a helluva lot more domain knowledge, as well as a lot more tweaking and hackery. Many things that are simple in Flash, such as collision detection, are not in JS.
Flash is essentially a system for moving and manipulating sprites, which fits perfectly with a 2D game. HTML/JS is an overgrown document layout system, and it shows.
There is a port of Box2D to Javascript (http://box2d-js.sourceforge.net/). I don't know what state it's in, I've only ever used the C++ version personally.
Which doesn't negate what you said at all, but like with everything else people do in Javascript, creating games with it will get less annoying over time as more people create things like that.
Then there are things like Pyjamas that let me write this silly asteroids game in really just a few hours: http://rumsey.org/space/Space.html. It's written entirely in Python (except it uses Flash for sound effects), but compiled to Javascript. I wrote that a couple of years ago, and haven't really followed Pyjamas since, but it was fun.
(and yes I know it's got errors depending on the browser, but it should work in anything but IE. I'm sure if I got a newer Pyjamas and recompiled it it would fix it for newer IE versions too.)
This is true. Perhaps competitions like this will help the public realize that Flash isn't dead after all (unlike the countless articles that have appeared on HN and claim this).
You should see EaselJs[1]. It makes creating games in canvas 2D very easy. The creator, Grant Skinner[2], is very famous on the Flash community, and ported many of Flash concepts to EaselJs.
That'll eventually be a non-issue, as js libraries arise that abstract away all that stuff.
Right now it seems we're in the phase of tons of scattered libraries, all with their own pros/cons, often written by just one or two folk. But eventually something awesome will appear.
Technically it doesnt use flash, it's a language that gets translated to flash, and crap tons other languages. The language is built from ground up to be translated.
I am using it right now to develop a cross platform mobile game. It translates to c++ which runs virtually anywhere, and for android version it even takes advantage of NDK.
One surprising thing about it is that, this technology is old (in digital timespan) it's been around for 6 years and the NME engine, it's been around for 4 years, it still surprises me that no one knows about this.