The final nail, was when Adobe's own executive exclaimed that he saw HTML5 as the future. When these words were said, Adobe pretty much pointed a shotgun at it's developers and pulled the trigger.
Why did Adobe's CEO say this? Because he was stupid. Even thought true, it was not what a CEO was supposed to do. But Adobe saw HTML5 as their holy grail. They would be able to have their cake and eat it too. They could write tools and take Flash developer and update it to create HTML5 content, and save millions on development of the Flash player.
Business-wise, it was a sweet opportunity from Adobe's viewpoint. However, Adobe hadn't reached that point, and the dumbf*** CEO basically publicly stated this before Adobe had migrated both it's tools and developer base. Imagine if Microsoft decided they were going to cease supporting all .NET/VB/C# and move to Node.js. But haven't released anything to do so yet.
The sad thing is that Adobe's Flex team was moving in a really great direction. Meanwhile, HTML5 was released, and in many areas it went "stupid". Sure canvas and all is great. But seriously, adding more input type was the very last thing HTML needed.
Adobe's Flex team realized this with their transition from Flex 3 to Flex 4. Rather than trying to develop new components for every situation (Checkbox, radio, drop down, text input, listbox, etc, etc). They realized a simple fact. Check all the apply and a multi-select listbox are the same data. A radio button and a dropdown is the same data. The presentation is just different. So they went the opposite direction of HTML5, and reduced the input types.
Now you have Boolean, string, list. You could define if the list allowed multiple selection. And you could style the list with a visual layer to be a vertical list, radio buttons, or even a custom skin (thumb images in a grid layout). It was brilliant. They took the revered MVC model and applied it to their input components - something HTML5 should of done.
Meanwhile, their ActionScript 3.x was actually a nice language in many ways. Very similar to Java, but with a few really nice abilities. Properties for example. Forget creating getter and setter methods. Define a property. "MyFoo.color". But hey, what if you have to add a restriction. No problem, there was a getter setter operation for all property elements. So if you later wanted to restrict the colors to 256 color palette, you could add the getter/setter for the property. No need to say MyFoo.setColor or MyFoo.getColor. It was simply MyFoo.color = blue, or display MyFoo.color.
I really wish HTML5 had gone a more intelligent route instead of the stupidity it went. HTML5, should of reduced the number of inputs to Bool, String, List. Then rather than adding new inputs such as phone, url, etc. Added the ability to associate "formatters". A formatter would be similar to a schema definition, that would also denote a preferred keyboard type. Then add keyboards to the HTML5 spec.
So rather than telephone, you'd have a string input with a telephone formatter. The formatter would detail input type "numberic", "9 chars", etc. as well as a preferred keyboard. "keyboard=keypad". Similar a ZIP code, SSN, etc would all merely be strings, restricted to numeric, and default to a keypad keyboard. Sadly, Adobe's Flex team was headed in this beautiful direction. HTML5 went fruit loopy...
Had they done this, they would of accomplished much of their goals. While at the same time not shooting themselves and all their developers in the head.