I am in online business since 3 years and I know very well about xml sitemap and html sitemaps. First of all I want to say “bhadriram” has explained it in proper way.
I want to focus on xml sitemap because it matters a lot if you want to be cached fast and quickly by Google Search engine.
As you know google crawlers converts a webpage into xml after that it starts reading or crawling therefore, if your website already have an xml sitemap then googlebot will easily read content of your website.
The conclusion is that xml sitemap is necessary for each and every website.