RIA - Why can't any of them work?
AJAX/HTML - On one hand, I've grown a new appreciation for the platform. It forces you to keep things simple for users and working directly with the full Java stack on the server is a bonus for maintenance and monitor-ability. The problem when you look at doing anything worthy of ooh's and aah's is that AJAX/HTML and browser dependencies must always be coded for the lowest common denominator and whatever faults it presents. I'm consistently amazed at widget libraries like ext-js, but find some people's browsers struggle through much more basic content. Lastly, I doubt you could simply populate some of these widgets with large sets of data and expect usable performance.
Flex/AIR - I've fallen in love with the markup based solution and the desktop deployment-- but why does Adobe torture me and place my app in a glass cage? The limited API and the initial security policies for the platform present a doubtful outlook for anyone attempting to do anything but create a fancy web page. Yes there's file system support, but please, at least allow us to create modules in native (C++) code if Adobe's not going to provide the feature out of the box (specifically thinking of device connectivity).