Why is having /public folder in the URL is not recommended

When you make public folder accessible, that means other sensitive information ( like Storage folder ) is accessible through web. 

The other folders should not be accessible in the system, 

If you're on a cPanel :

setup a subdomain for the software and when asked to choose the folder, choose it to be /public folder 

 If you're on a VPS 

change DocumentRoot to /public folder. Similar to this:

DocumentRoot /var/www/html/firehelp/public
ServerName support.firecrown.io