I actually just wrote a blog post about this. Simply put, HTML5 is definitely legit, but write HTML5 games for that purpose. Intend them to run in browser. Don't try to replace an otherwise native app or try to make the next CoD in JS. I'm mainly a C++ guy, but I wanted to give it a shot, so I'm currently writing a small JS game with pixi.js. I'm impressed, but it's definitely different.
I saw some engine says it can port its game to html5 and even put it in Android/iOS wrapper. The boast seems quite questionable but also brought me some hope...
Don't do this. The performance of UIWebView is not the same as the browser. Chrome for Android is amazing though.
It sounds like your attempts haven't been very recent. Even in just the past 6 months HTML5 support has grown. It is just as much capable, if not more, than Flash now, and it's going to continue to grow.
I reccomend playing around with all those languages regardless, though!
As to the original poster, HTML5 is OK for simple interfaces but once you get to "real" game development, it could be cumbersome. Keep in mind that a ton of people are stuck at IE9 which has problematic support for HTML5 and (as we found out) WebSockets.
IE has always been a problem to web developers in general. I honestly wouldn't even worry about it. Anyone using IE9 (or IE at all) probably isn't looking to play web games, and if they are, they should upgrade. That is like supporting iOS1 when releasing iOS games.
HTML5 is okay for basic games with minimum animations for Desktop. Its mobile support is very poor and kills mobile battery as fast as Flash did. If you want something really performant, cross platform and as easy to develop as JS - you always have Flash here. Stage3D and ability to make as performant as native games on mobile due to underlying OpenGL-based rendering system is astounding. It won't go anywhere anytime soon, despite everything doomsayers have been telling us for 10 years.
The bottom line for me is that after a while, HTML5 Audio will be sorted out and HTML5 games will work fine on mobile, whereas native Flash is basically banished from mobile now that their last major hold-out, Android, dropped native Flash support a while back. HTML5 is going to continue to get better and better, but Flash isn't coming back to mobile outside of AIR packaging. Is Flash "dead" or "dying"? Of course not, and it likely won't be for decades. But the days of 95%+ installbase on all Internet-connected devices is long over.
I forgot about AIR and Stage3D. I've always been an advocate of "Flash is here to stay," but I'm on the other side now. You bring up good points, but Flash in browser is definitely on the way to retirement. If you're new to either at this point, and trying to decide between HTML5 and Flash, I vote HTML5.