I'm a web dev currently but moving back to games (used to do native stuff, back in the day, and it is back in the day!) and the kind-of anti-HTML5 rhetoric you sometimes hear of comes either from native guys who feel threatened or in the gaming industry, the former group will always feel threatened and rag on new tech whereas, thankfully, the forerunners of the latter group are almost unanimously changing their opinion about HTML5 and the web platform. It is a shame that many very good (and well cited) responses here sound dreadfully, dreadfully dated.
It is fairly astounding that people still try to sway questionners to Flash. Given that someone asking a question is generally looking for information, it is irresponsible to sway them towards an outdated technology that is going absolutely nowhere. Whilst you can probably cite a company that is still throwing in with it try to name a big company that has not dropped Flash as an active development platform, including, of course, Adobe. I wont cite because any search will throw up articles, some several years old explaining why backing Flash is an incredibly bad move.
As I employ and frequently interview guys of varying experience (from very good contractors to younger guys) whose background is with Flash but must now 'slum it with us Javascripters' it is evident that throwing your eggs (and all of that time you'll spend learning something) behind Flash is not a good move. The problem is that certain companies have invested heavily and are unable through fear or ineptitude to ditch their Flash ecosystem and they will continue to shout for a while yet. Luckily it becomes easier with each passing week to ignore them - plus their voice is diminishing anyway.
HTML5 is still developing but I'm not sure why anybody with any experience of actually writing applications or games on the web would consider it new. As I'm an active developer exploring ES6 spec I can assure you that HTML5 will soon become 'old', or, at least, it will become mature. The question of maturity is far more difficult to tackle.
The strengths of Flash (if you choose to ignore its many crippling weaknesses) are still ahead of HTML5. This is largely a question of investment and time. Flash is flawed and could never have moved much further forward than when it died. HTML5 is still a maturing platform and parity is almost already active - this is incredible given that the scope of HTML5 is far greater and the emergence of mobile (whilst the final nail in the Flash coffin) has only expanded that scope. Luckily, HTML5 is just that damn amazing that it can take on challenges like mobile and be flexible enough to survive and thrive!
As a game developer the biggest challenge you face is not actually fragmentation (which is a major major issue) but performance. Performance is always thrown as a criticism of the fundamentals of the web platform but its all relative. Whilst optimal performance is desireable it is actually unnecessary, if something is perceived by the user to be performant enough then it doesnt matter if it is optimal. However, many games are a group of application that push performance and getting JS (in its current guise) to perform fast enough is difficult and requires incredible skill. Whilst JS is often perceived as being a 'weak' language (partly through its loosely typed and interpreted nature but mostly due to previous employment of JS) it, when part of the greater web platform, is actually incredibly difficult to write properly and requires as much as skill as many other mature languages.
Having said that, the question of optimisation is also important. Some reckon Typescript or HaXe help the optimisation step as certain assumptions can be made about the structure of the code but the main reason large companies making 'web platform' games use these JS variants is code structure and readibility within larger teams. Dart performance seems good and is growing in adoption and there is emscripten and asm.js that are really reaching forward how much JS can be optimised to increase performance. This is all without considering steps made forward by V8 or other interpreters, if you believe Microsoft then their JS interpreter for IE11 is supposed to be absolutely top-notch and beats Google's. I cant really comment on which is better but suffice to say there is considerable development and investment in making these technologies better so expect support to only get better.
Depending on what you want to make, HTML5 is ready now (audio, as mentioned, is extremely problematic, although usually not insurmountable). Offline support is available, although unwieldy, multi-player 'support' can often be easier (this is admittedly a sweeping statement to be taken with a pinch of salt) and the ecosystem is thriving (although forerunners are not yet entrenched as industry 'standards'). The GPU is within your reach (with fallbacks in most cases, canvas is near ubiquitous although performance is perceived as sketchy often due to CPU limitations) although not across all devices, as said, fallbacks do exist but may not be good enough depeding on your use-case.
If you're still worried check out Google Experiments, there are even some 'complete' games in there of very high quality. Libraries like Three.js, Pixi.js, Phaser and loads of others are largely building on lessons learned from Flash but are pushing forward 'gaming' on the web platform and well worth a look.
However, JS is hard. Programming on the web is very hard. You have to write a lot yourself and there is a lot to understand about the nature of the web. The games industry is learning, often the hard way (the graveyard of failed projects is large), that the web platform has very unique and new problems that it has not seen before. The sands beneath your games' foundations are still shifting with HTML5 which is, to say the least, disconcerting. Still, it is extremely exciting!