Difference between www and public_html?

If you want www.example.com and example.com to display different pages then you set up a separate folder inside public_html (you can call it www or getlost or fixyou or whatever) and then set up the www sub-domain to point to that folder.

The www symlink outside of the public_html folder is just an alias for the public_html folder unless you break the link in which case it is useless for anything since it is outside of public_html.

Absolutely.

You are right. But in any case you need to thing if you need that at all. Then Make decision.
I would not recommend to do that personally.

I wasn’t recommending doing it - I was saying what would happen if it was done.