An XML sitemap is a file written in the markup language, XML, that provides a list of all (or the most important) URLs on a site, along with other information relevant to crawling each URL. XML sitemaps are provided to aid search engines and other crawlers index your site effectively, and are not meant to be read by humans.
XML sitemaps can help search engines understand the structure of your site, which pages are of higher priority, and can help ensure that URLs are not missed by search engines simply because they did not discover them during the crawl process.
Most search engines provide a way for site owners to submit the sitemap directly to the search engine through their webmaster tools (e.g. Google Webmaster Tools, Bing Webmaster Tools, Baidu Webmaster Tools). The sitemaps are also typically uploaded to the root directory and can be announced in the robots.txt file.
It is not required to submit an XML sitemap to a search engine, as most can typically crawl your site without issue. However, it can be useful in some cases, especially for sites with poor site structure or navigation. Because it usually cannot harm your site, it's generally a best practice to submit an XML sitemap to all major search engines. Doing so can sometimes give you a boost in indexation.
In addition to XML sitemaps for pages on your site, it's also possible and effective to create separate sitemaps specifically for images, videos, or other types of content. These specialized sitemaps can help with inclusion in searches for these content types (e.g. Google Images, Baidu Images, or Bing Images).