an addon domain is just as it says a domain that you have added to your account.
so rather than have say 4 domains with 4 separate control panels like
where you have to remember usernames and passwords for each you can simply have
and then add the other 3 domains as addon domains where you can control from the same control panel and same FTP etc.
a subdomain is simple a directory of the main domain
so you could have a sales site that would be
domain1.com/sales or sales.domain1.com