"Flash allow you to create any kind of interface and experience you want."
Exactly, and that's the problem. It means that it behaves the way the author wants it to, ignoring the users preferences. That is poor usability. I have lots of small annoyances with Flash, take for example the inability to auto-scroll across it (at least in Firefox on OS X). This would not be the case with normal content.
With Flash, the user or the developer has no choice if scroll and keyboard shortcuts break. With JS+HTML+CSS, the user has a choice to force the developer to fix their code (and a developer to not write code which breaks browser stuff).
In Flash, browser shortcuts like ^L are always broken and you have no choice about that, because that's the way Flash is designed. If a similar thing happens in a non-Flash environment, it's because the developer designed it so.
If many users complain to the developer about stuff being broken, it has to count for something.
Again, how do they "force" developers to fix their code? Asking nicely is one thing but forcing is another. You implied that the user has more control over the developer in a JS+HTML+CSS environment over Flash. Plus, if some commonly used commands are broken in Flash then it's broken in all of them which doesn't mean broken; it means unsupported, there's a difference.
Exactly, and that's the problem. It means that it behaves the way the author wants it to, ignoring the users preferences. That is poor usability. I have lots of small annoyances with Flash, take for example the inability to auto-scroll across it (at least in Firefox on OS X). This would not be the case with normal content.