Approaching the IoT technical world, one can be wondered on how many protocols we can use to communicate: AMQP, CoAP, MQTT and the omnipresence HTTP.
That's are too many.
Trying to stay in the practical world, we can shortly compare two of them: MQTT and HTTP.
MQTT Message Queue Telemetry Transport, is a reliable and light transport protocol that permit IoT devices to communicate with other devices. The best thing is that MQTT use really few bytes to describe the content of the messages, so it can be very useful to adopt in a context where we need to exchange small messages and we have not a great bandwith. Tipically can be a communication between two devices aka M2M Machine to Machine. By the way, if we need to transfer a lot of data in the Cloud to be consumed by other devices in another Country, then we can try to prefer another protocol.
HTTP HyperText Transfer Protocol; every one know about this, it is the common used protocol for the Internet and certainly, can be the most used for IoT devices that need to publish a lot of data, particularly if used with JSON in a RESTful architecture to save bytes for the markup.
Finally, you can use MQTT to send data in the Cloud and you can use HTTP to communicate in a close area but you can be perfect if you use the protocol that fit the needs of the contest.
So, if your project is to let the fridge to communicate with the thermometer to adapt the engine pump, you can use the MQTT easily.
By the way if you need to collect big data from around the world, then you can think to use HTTP