The main reason we usually see this case is that the user have uploaded his content to the root of his account and not in the public_html folder.
All files needed to be called from a browser need to be uploaded to public_html. Their is no other way or folder to make your site to open properly to your visitors then to put your files in the public_html folder.
Additionally the main file must be called index or default. So for example index.html, .php, etc.