The document root is the folder where you keep website files for a domain name. Since cPanel allows for multiple domain names (Addon domains), then you need to have a unique folder for each domain.
Your primary domain is rooted in the public_html folder. This means that public_html is the folder where you put all website files which you want to appear when someone types your main domain (the one you provided when you signed up for hosting).
Or put another way, when someone types your domain name into their browser, whatever is in the public_html folder is what will be shown to them. For example, if you have a file called index.html (or any of the other default filenames) in the public_html folder, it will display that page. If you do no have a default file in the public_html folder (such as index.html, default.html, etc.), then a list of files in the public_html folder will be show:
|Path in File Manager (or in FTP)*||Corresponding URL in a Web Browser|
** Replace yourdomain.com with the primary domain on your account (the one you originally signed up with, unless you changed it).