When you create an addon domain in cPanel, it asks you for a username for the new addon domain. This is the second box called:
Username/directory/subdomain Name
When you type something in here, it will make a new folder that acts as public_html for the newly created addon domain.
It also creates a new ftp account for the site. The main difference is that your username is now in the format of addonuser@maindomain.com and then the password you typed in for the addon domain.
For example, if you made an addon domain called: mynewdomain.com and in the second box you made a new Username/directory/subdomain Name called: mynew
with the password: somepass, then you would have a separate FTP account that only allows access to the "mynew" folder. This is nice if you want to restrict access to your primary site.
You would then login to the FTP site as:
ftp host: ftp.mynewdomain.com
user: mynew@maindomain.com
pass: somepass
You can also simply FTP to the main site, using the main site's username and password, then upload the files as you would to any regular subdirectory, but the "mynew" subdirectory acts as public_html for the new site. I find that way easier but I find a separate hosting account the easiest.
For cPanel, you cannot access a separate cPanel for the new site, that is only possible with a reseller account.
The way to access the new site's cPanel is via the main site's cPanel, then if you have a look around, you see options now for both domains. For example, under mail > add/remove/manage accounts, you will see drop down menus so that you can make email addresses for either the main domain, or newly created addon domain.
Hope that helps. Feel free to post any comments.