Why do you ask? Advertising. Plain and simple. It pays the bills at many websites, and HTML 5 simply isn’t capable of replacing Flash just quite yet in advertising. An ad using a simple animation with maybe some content expansion on mouseover with a video (with audio off by default) has a few technical issues that are easily solved by Flash and not by HTML 5:
1. Not easy for the designer to build, especially with all of the integrated reporting functionality. AdWonder for instance allows the designer to drop a VideoScreen instance onto the Flash stage, and it gets automatic detailed reporting, can use streaming or progressive with a simple change in the backend system, integration with controls by name (all which can report on the interactions and the video they were interacting with)
2. No streaming option for video. It’s expensive for both the hosting provider and the end user for a video to be served over HTTP. RTMP, while costing more per byte, is cheaper, since we don’t have to send the full content file at the user’s burst bandwidth, but instead at a much lower rate of whatever the video is playing at.
3. Browsers strain when dealing with animations currently. The animations used by ads today are normally not all that complex, maybe using of Robert Penner’s easing code, or using a Flash motion tween, but browsers strain with the same content in HTML 5.
4. Typography — no consistent way of specifying a custom font face, especially with a limited set of the character set. With HTML 5, you have to resort to using images. With Flash, it can embed the specific characters of the font you are using.
5. Accessing content on different domains. And no, the HTML 5 stuff doesn’t work. That requires both sides be able to do this. What if you need to access an XML file from a different domain? Flash can do this by having that different domain provide a crossdomain.xml file granting permission. There’s no equivalent in HTML 5 for this.
Yes, Flash gets some security vulnerabilities every now and then. Then again, so does your browser. Maybe we should deprecate browsers to! Chrome automatically updates Flash for you. Firefox lets you know when your version is outdated. Flash Player has a built in automatic updater.