
XML sitemaps
The fist type is usually a generated XML file (or more files, depending the case) and it is submitted to the search engines using the webmasters tools in order to parse the entire site and the articles on it faster.
The purpose of XML sitemaps is to instruct the search engines what is the page structure of your web site, how often page content is updated and when the new content is added to the site. Using an XML sitemap will help ensure that all site pages are crawled and indexed, frequently-updated web pages on your site are crawled more often and the new site pages are quickly indexed.
The standard XML sitemap structure is available at http://www.sitemaps.org/protocol.php. I recommend posting the sitemap as standard filename (as sitemap.xml, for example) on site's base location (website’s root directory). For example, this website should have http://www.webdesign-software-code-seo.com/sitemap.xml. When you have multiple XML sitemaps (it happen when the size of the initial file is too big to be fully accessed by the search engines spiders) use the similar filenames for all of them and submit all through the webmasters tools.
The sitemap should contain the URL of the every page on the site, which means that it would need to be updated every time a new page is added (automatically or manually).
They are not usually seen by the human visitors, even some of them can land on the XML sitemaps (intentionally or by accident), they are targeting only the search engines spiders.
The HTML on-page sitemaps
The XML sitemaps are more detailed, but the HTML sitemap is a better graphical representation of the architecture of a website. The HTML sitemap is primarily used to assist the human visitors to navigate the site, but it is also used by the search engines crawlers for the same thing.
Because of this use, the on-page sitemaps should be link to the every page of the site. The most important aspect you must remember is to keep things as simple as possible. For example, your primary links should be plain text (with the keywords inside the anchor text) or graphics with your key phrases in the alt text. You should establish a system of links easily and clearly negotiable both by humans and a search engine's spider.
I've written before about the content writing and it's importance for the search engines (it is one of the most important things on site along its structure), but that's not enough: it's very important to make it easy for the humans and the engines to reach it (how accesible is it).
If you use frames inside your site (not recommended), always place the link to the HTML sitemap within the noframe tags on every page of the website.
If you have a big site, with hundreds or thousands of pages (in time blogs or newspaper sites can get to such size), split the navigation into several interlinking and categorized HTML sitemaps. Remember also to keep it as simple as possible, and to keep the maximum number of links on any sitemap to a hundred or so - the human visitors will become lost, bored or worse if they find themselves into a "link farm".