Performance wise, XMPP bills itself as high performance messaging, but the developers are focused on the WAN. AMQP comparatively is ultra-high performance messaging with optimisations for the LAN.
This is confusing as for many projects there is limited need for ultra-high performance data rates. Numbers of the range 100,000 messages per second with latency under one millisecond. At this rate special engineering methods are required, XML, SSL, compression are too slow, focus is upon zero-copy processing, i.e. accessing and updating data in place, because the memory-bus is too slow to perform copies.
There is a discussion between one AMQP and one XMPP developer that sums this up:
>> So AFAIU, XMPP is not a serious candidate for high-volume messaging, right?
No, wrong, as with anything it will all depend on the capacity of your servers and the bandwidth you have available at your disposal, there is nothing stopping high-volume messaging over XMPP if you control the infrastructure.
http://www.mail-archive.com/jdev@jabber.org/msg19403.html
Another major advantage for AMQP is message routing. You can define which messages are routed to different sites by their content. Again this is an unusual requirement for many projects as they do not exist on such a scale for this to normally be an issue. The closest equivalent is SMTP routing by domain, you can find more discussion on this InfoQ article:
http://www.infoq.com/news/2008/08/amqp-progress
The main focus on AMQP is to appear a qualified messaging protocol for certified or guaranteed messaging with the necessary tools and support from vendors to promote its usage. XMPP can do a lot of the AMQP functionality already, but most of it is optional functionality rather than a primary design goal. If AMQP support appears in the Visual Studio Development System together with MMC modules for monitoring and administration, for example, its adoption could rapidly grow.