Probably related to this question Realistic situations where Message Queues should be applied?
I believe the best gain is reliability as well as scalability. Different services or workers can subscribe to tasks placed on the message queues. On the other hand with HTTP you would have to trigger multiple HTTP requests to those different services adding more overhead.