AJAX (short for Asynchronous JavaScript And XML) is no more than a fashionable buzzword first used in 2005 to describe the combination of relatively old web technologies and techniques such as JavaScript, DOM and CSS, used collectively with something called 'XML Http Request' which allows a browser to exchange data with a webserver without having to refresh a web page.
What AJAX means for the end-user (you) is some desktop-like interaction effects in the browser, such as form validation and auto-completion before a form is actually submitted; simple drag-and-drop effects for specific graphics and list items; and some nifty visual effects like moving or fading graphics and tool-tip boxes etc. These effects can be seen without having to download any browser plug-ins, but they come at the price of 'heavier' pages of code which take longer to load.
The techniques behind AJAX have been around for years, but because 'AJAX' is now a trendy buzzword, more web developers are talking about it, which is driving the sharing of knowledge and prompting the development of tools to make those techniques easier to implement.
What AJAX means for developers (us) is lots of additional, complex programming in an arguably cumbersome language (Javascript); additional cross-browser compliance problems; and either drastically increased or decreased loads on webservers depending upon how well or badly the AJAX features have been thought through. Enhancing a simple web page with a single AJAX effect can be achieved relatively quickly, but enhancing an entire application can take serious amounts of programming and can lead to web pages that are so bloated with JavaScript that users will not bother to wait for them to load!
When carefully selected AJAX techniques are used sparingly to enhance a completed, stable and accessible web page or application, they can add useful interaction features that make for a better user experience. The best known example of an AJAX enabled web application is Google Maps, but this has taken a lot of people a lot of time to develop, and is outside the scope of all but the very biggest web organisations.
Some serious drawbacks of AJAX techniques are that without some very skilled iframe trickery, the browser back button will not work for AJAX actions, confusing end-users; the browser bookmarking system can give unexpected results; network latency can cause subtle but confusing interaction delays; and JavaScript must be enabled on the user's browser, which is often not the case in corporate environments (for security reasons).
Because most web application builders are far more skilled with server-side technologies such as PHP or ASP than with browser technologies like JavaScript, effective uses of AJAX techniques are proving slow to emerge. But this is sure to change soon with the creation of Open Source code libraries like xajax (for simple AJAX features through a PHP framework) and Rico (for fancy interaction effects).
AJAX has its pros and cons, and it's certainly not the answer to all our web prayers, but it's a move in the right direction and will undoubtedly lead to a faster and wider acceptance of the 'web application' concept.