Both provide basic messaging needs; beyond that, AMQP provides a very much richer set of messaging scenarios. AMQP is almost a complete superset, lacking only explicit
protocol support for Last-Value-Queues and will messages. However, its deliberate design for extensibility, using an IANA-like approach with a discursive approach, ensures
A comparison of AMQP and MQTT
There's also been a few other resources on the issue including:
A LinkedIn discussion
A Mule ESB use case
Hope these resources are helpful in knowing which protocol is best for your use case. There are also others like STOMP and XMPP that we'll look at later.