Let us assume that you own abc.com and xyz.com
Usually you will always stick to sub-domain but here is the difference if you wanna know :-
- Add-On Domain
Here your two domains act separately from each other. No domain is dependent on other. If one is down other is not effected. Both will have different CNAMES, MX Records etc. Here you paid for the two domains.
- Sub Domain
Consider that your abc.com domain. Its a blogging site. Now you want to integrate a forum for abc.com then one way is to put the pages in directory abc.com/forum or you can have forum.abc.com by adding directory forum to sub domain. This doesn't costs you anything. You can have as many sub domains as you want (Some hosting services might put up an upper limit)
- Parked Domain
Now consider a scenario where you wanted xyz.com but have to live with abc.com. After several years you got xyz.com but now all of your friends know that your website is hosted at abc.com. Tough situation. You can add a redirect but parked domain is an intelligent solution. Here you park xyz.com over abc.com. Now both of your domains points to the same folder. Here also you paid for both the domains