A message that is in transit between the broker and the consumer might get lost in the event of a connection failure, and important messages probably need to be retransmitted. Acknowledgments let the server and clients know when to retransmit messages.
There are two possible ways to acknowledge message delivery – once a consumer receives the message (an automatic acknowledgment, auto-ack), and when a consumer sends back an acknowledgment (explicit/manual acknowledge). With auto-ack, the message is acknowledged as soon as it leaves the queue (and is thereby removed from the queue). It is best to auto-ack when high message speeds are required, if the connections are reliable, and if lost messages aren't a concern.
Using manual acknowledgments on messages can have a performance impact on the system, compared to an automatic acknowledgment. If aiming for fast throughput, manual acknowledgments should be disabled, and auto acknowledgments should be used instead...