Yes, it's awesome, but only in the hands of a qualified coder.
AJAX (asynchronous Javascript and XML) is a technology that allows the client (browser) to fetch a webpage or file without having to reload the page. That's it, it's that simple (my IT teacher will kill me though for that explanation). The major advantage of AJAX is clear: way more advanced applications from your browser, good example is Gmail: it barely loads and new page but still manages to show all your mails, smoothly. The fun thing about Gmail is it actually lets 90% of the parsing of data to you, all they have to send is some raw data (XML) and some Javascript, and once put together you get a neat interface to webmail.
That's one advantage, but the second advantage is bandwith. This is and will always be an issue for enormous websites (ever noticed how Google isn't even xhtml valid?), and AJAX can save you some bandwith. Instead of sending a complete interface every time with the content, why not make the content dynamically added and just send the interface first? You can save some kilobytes by just having to send the content each time a hyperlink is clicked. Now even "static" HTML pages can act like a PHP page that uses include().
There is also a disadvantage (what'd you expect?): search engines just can't read the content that is dynamically triggered. This can be solved by coding two versions of your page, but this takes longer and no one likes to spend hours on duplicating their own code, eh?