I've searched for a good explanation for the difference between these two, but didn't really find one.
What I know till now is that: correlation id is a string (Guid which was converted to string), and delivery tag is an int. correlation id is unique for each message, and delivery tag is unique only in the channel (The channel is the scope).
That's fine....but what is the difference in the purposes? why do we need two identifiers for a message?