Public files are those that are accessible directly through the web, without needing an active session, ie, being logged in to the ERPNext/Frappe instance.
Private files, as you’d assume, need an active session, ie, person needs to be logged into Frappe/ERPNext in order to access them.
Logos, images, etc which will end up on a website should be public files
Attachments used internally such as vendor invoice copies, data import files, etc would fall under Private files category.
These are stored in the database and not file level