A file in the msg directory contains the actual message text, including headers and body. This is untouched by the system once created.
A file in the addr directory contains an MMDF control file that (primarily) contains the address list of all the recipients of the message. The file also details whether each recipient has actually been delivered a copy yet, and so on. The full details may be found in the queue(7) manual page.
Each channel has a directory (called q.<channel>). If there are any undelivered addresses that will be delivered via this channel, then a hard link from the control file will exist in the channel directory.
That's it, for the moment. Back to toplevel.