Flash cops a bad rap but it is a massive platform for gaming with hundreds of millions of people choosing Flash games over every other form of entertainment and distraction all day, every day. Yesterday I tracked almost 6 million people that collectively spent 171 years playing Flash games.
There are a handful of technologies that promise we'll be able to make once, deploy everywhere - whoever does it best is going to win the developers. It's not Flash vs. iOS, it's "how do I get my game on n platforms". Adobe fancies themselves in the running, people are working on positioning Mono to solve that problem, Unity are a very likely contender, and of course there's HTML5.
I don't think it'll ever be as simple as write once, deploy anywhere ... but write once, in one language, and deploy everywhere with minimal fuss is an admirable goal.
It's a problem that companies have been trying to solve, in one form or another, since the advent of the microcomputer.
I'm highly sceptical that a solution is ever going to appear. There is no silver bullet that will allow you to paper over the significant differences in platforms in a transparent, non-clunky manner.
But let’s get to the real issue here, because this is once again a misunderstanding of design vs. programming. HTML, JS, and CSS do not magically create wonderful experiences on every platform they are run. As you can see from the above screenshot, they certainly have the nice side effect of working on said platforms, but if you’re expecting HTML to somehow handle the subtle and explicit differences between a handheld multitouch peripheral and a desktop application, well then you’re doing it wrong. These are completely different environments and they require completely different designs and often implementations.
On the other hand, when you're natively targeting several platforms with radically different UI conventions outside of the browser, it's a lot harder to provide a single language and library set that can cover up those differences. You could go for the browser strategy and attempt to convince users that your application is exempt from the underlying OS conventions because it's special, but that's a steep uphill climb (especially with users bases known to be hostile to applications which deviate from expected conventions, like the Apple community; god help you if you're trying to sell an Adobe Air app on OS X).
Like I said, there is no silver bullet here. You can't get polished interfaces on multi-platforms if you're not willing to polish your interface separately for each platform.
But if, say, a company were making a new website for the car they're selling (or their restaurant!), Flash was the obvious way a year ago: a case didn't generally need to be made for it. But now, an in-touch manager should demand that a strong case be made for it before going down that path.
In terms of video the web at large will never migrate just as they didn't care about the various versions of HTML, the rise of "standards matter" etc, but I thought the largest sites that really matter made themselves compatible ages ago?