Your html sitemap is best for website visitors, so best practice is to list the most important sections/pages. Google can use your html sitemap page to crawl the rest of your site as long as the structure can be followed.
If you have lots of pages, then it's best to us an xml sitemap to submit through Google Webmaster. Once your xml sitemap is in the root directory of your website, you can also let search engines know its location through your robots.txt file like this:
User-agent: *
Sitemap: http://www.SomeDomain.com/sitemap.xml
If your site changes over time, it's a good idea to create fresh sitemaps - just set reminders for yourself in a calendar.