The major disadvantage I see is that, because it's a hot buzz-word in the industry, a lot of people are using it inappropriately in lieue of solid web application structure rather than as an important tool to add to web applications.
Yes, you can do so many fancy things playing with DOM. I'm reading Ajax in Action, and I've realized how hard it is to make something clean. It can soon become a real mess if you don't know what you're doing.