Sitemaps of the XML variety and the site maps of the HTML variety: two great tastes that taste great together!
The XML sitemap is the one that you typically use an automated tool to generate (such as one of these) and to upload to your root directory. Humans never see this document and all it really is a simple list of all of your URLs. This XML file allows spiders to “discover” all of your pages and index them quickly. Having an XML sitemap isn’t necessary if you have a good internal hierarchical linking structure and spider-friendly URLs. But if you don’t, an XML sitemap is an easy band-aid. (Note that this doesn’t excuse you from fixing your URLs and linking structure!)
As for the HTML site map, it’s just as important as the XML sitemap – if not more so. The site map page is not just a simple linked list of all your pages – but an easy way to navigate to your most important ones, remember, your human readers WILL see the HTML site map.
If you are not a front end developer and do not know the first thing about usability, fear not – you can still have a very easy way to navigate your pages for your new and returning visitors. Often your returning traffic is looking for a specific page or article, and if they can’t find it quickly, they will go elsewhere to find the information they are looking for.
HTML site maps are also a great addition to your custom 404 error page. When someone makes a mistake while typing in the URL and gets a 404 instead of the page they are looking for, they can navigate to the one they want quickly and conveniently. Without a link to your HTML site map, your users can become frustrated when they find a 404 error, forcing them to press the back button away from your site or just doing another search on Google and likely finding some other site.