What is the difference between Adobe AIR and FLEX?
The "Flex Framework" is a collection of AS3 classes and components used in developing RIAs.
"Flex Builder" is an IDE used to develop "Flex Applications."
Much in the same way HTML is a collection of tags to develop web pages and Dreamweaver is an IDE for developing web pages. However you don't need Dreamweaver, you can use Notepad, BBEdit, etc. as well.
If you use something other than Flex Builder to develop in Flex, you need to download the Flex SDK to compile. The end result of a compiled Flex Application is an SWF file (Same as Flash).
With the compiled SWF file, a user only needs to have Flash Player installed to run the application.
Most Flex apps are developed, deployed to a server and then a web browser is used to serve the application to the user for use.
I haven't used AIR yet so I don't know what the end product of a compliled AIR Application is, but AIR is an alternative delivery system for Flex Applications, replacing the web server and browser so to speak. It's primary purpose is for deploying RIAs to a user's desktop, independant of an internet connection.
AIR, also allows for the use of HTML, AJAX etc. So an AIR Application could be a collection of all these things, compiled together.
To run an AIR Application, you need AIR Runtime installed on your computer.
I'd add to Garry's (excellent!) answer by saying it sort of depends on what you're asking. There are conceptual differences and specific differences. Garry's answer details a handful of the specifics.
Conceptually, though, AIR is a superset of Flex, and Flex is a superset of Flash.
A Flash-authored SWF generally (though not always -- but most of the time) runs in a Web browser and is composed of ActionScript code. A Flex-authored SWF also runs in a Web browser (or again, some comparable container) and is composed of ActionScript code, but usually also takes advantage of the Flex framework, which is essentially a bunch of ActionScript classes provided by Adobe to assist developers in building more feature-rich Flash-based applications. AIR, finally, is Flex running on the desktop -- it's Flash-plus-Flex, plus some additional desktop-oriented facilities that allow SWFs authored in either Flash or Flex to be installed and run as desktop applications.
AIR is not a superset of Flex.
Adobe AIR is essentially Webkit, Flash, Javascript, Flex, XHTML, CSS, sqlLite.
The applications for air are primarily developed in ECMA. (Actionscript/Javascript). Most AIR applications out and about in the world right now consist of Javascript, xhtml, images, and sqllite.
The Actionscript engine has been extended for AIR to support disk IO and other 'local' system functionality. This allows you're application to act just like a normal system application. Although most people are storing their data in sqlLite and rarely write to disk for anything other than logging. (From what I've noticed/read)
Regardless, there isn't a ton of Flex going on in AIR or the AIR community. From what I've noticed its a lot of Javascript/Flash/XHTML people making small apps that run on multi-os through the AIR runtime.
Excellent posts. As a side note, I'd like to add that unlike Flex/Flash SWFs, AIR SWFs cannot, and I repeat, can not be played in a browser. AIR SWFs need their own little sandboxes to run in (that the run time provides).