Here is the link for the post of Ryan Stewart which may help you to decide what to use when depending up on your needs. I am still new to Flex, AIR and don’t know much about the Silverlight and WPF, so I won’t comment on it. I am currently working on a project in Flex & I am enjoying the working in Flex.
Link for the post :- http://blogs.zdnet.com/Stewart/?p=350
This post gives you idea about things, when you:-
Ø Want to build rich desktop applications.
Ø Want to build rich browser-based applications.
Ø Want to make your web application more interactive.
Ø Want to produce and consume video on the web.
Ø Want tools that allow me to create rich experiences.