The following is a very vague and incomplete list of advantages and pitfalls that I am aware of. I would really appreciate it if anyone more knowledgeable in this area could help expend on these...
Advantages...
- User experience can be improved with a faster and seemingly more natural UI.
- Content and functionality from many different sources can be more easily mashed-up together on a single UI.
Pitfalls...
- Security and authentication is harder to get right.
- It requires client-side scripting to manipulate the UI, which causes it to inherit all of that technique’s limitations (for example, script execution speed, browser inconsistencies, fewer and less useful [EDIT] Unit Testing tools, etc).
- The Same Origin Policy limits the sources that information can be obtained from.