I've consolidated some of my previous posts on Flash vs. AJAX into an
article. I think the number of checks in the Flash column give the impression that Flash is a superior solution. Certainly for many hardcore Flash developers would say that you can do
anything in Flash, so you might as well do
everything in Flash. But ultimately, it depends on what you are developing.
There is one area where AJAX simply kills Flash: dynamically generated text-heavy applications. And at the moment, these dominate the web. So if you're making an email program, or an online personal organizer, or an online store, Flash doesn't make much sense. It simply doesn't give the same flexibility for parsing and displaying large amounts of text data. Anyone who's had to build a Flash app with Dynamic Text Fields knows what a headache it is. Without writing a bunch of code, there simply isn't enough flexibility available for repositioning or resizing text fields. The problem gets even worse if your app needs to be localized...
I think it's inevitable that internet apps will evolve to be more of an interactive multimedia experience. At that point -- if it's still in contention -- Flash may be poised to take over. But for now, we're still in the stone age.