Public_html or website main directory
The public_html folder in the Cpanel is the webroot for your main domain name.
This denotes that public_html is the folder where you upload all website files which you want to show or execute when someone types your main domain like www.example.com.
Index.html file is executed initially and kept in the public_html folder by hosting companies for their advertisement purposes.
if there is no index file then all the listed files will be shown while accessing the domain.
How to make subdirectory:
If you want to make a subdirectory just make a folder in public_html and access it like this www.example.com/newfolder