There are all kinds of things you can do to troubleshoot a web site. Generally, I end up doing some of these things when troubleshooting web sites:
Go to the site myself to recreate any error messages - or at least try to get a screenshot from the user getting the error
Rule out any network related issues by doing pings, nslookups, traceroutes and stuff like that
Check the Event Viewer on the server to see if there have been any errors associated with the web site
Check the IIS logs for HTTP errors (logparser is great for this)
Put traces in the code files for debugging purposes
Also when I make a web site, I usually include a function that emails me when any errors are generated - so I usually know about any errors before the users inform me of them (assuming that the site is still functional enough to send out an email)