There really is no difference; Your web
root (where you upload your web site (web accessible) files to) is the
public_html directory. The www directory is just a symbolic link (i.e.,
an aliased name that points to the same place) as public_html.
To
upload/publish, you should use public_html, however, since some FTP and
other publishing software can complain about a symbolic linked
directory.
Important Note regarding symbolic links; they are
simply another path to the same area, they are not copies (removing a
file from one will remove the file from both locations!).