8ung: Der Begriff "Sitemap" hat mehrere Bedeutungen!
Eine Sitemap kann auch eine Art "Inhaltsverzeichnis" als Orientierungshilfe für die Besucher*innen einer Website sein. Das ist aber nicht das Thema hier.
Eine Sitemap ist eine maschinenlesbare Liste aller URLs einer Website. Mit ihrer Hilfe kann die Indexierung in Suchmaschinen gesteuert und beschleunigt werden. Für die Auflistung gibt es verschiedene Formate, meiner Meinung ist es am einfachsten, das XML-Format dafür zu wählen. Aber keine Angst, du musst jetzt dafür keine neue Programmiersprache lernen, XML ist ziemlich selbsterklärend, vor allem dann, wenn du HTML bereits beherrschst.
Nein. Wenn du ein kleines Projekt mit sauberer HTML-Programmierung (z.B. Einsatz vom <nav>-Tag) gemacht hast, brauchst du nicht unbedingt auch eine sitemap.xml dafür zu erstellen. Diese Dinger braucht es für sehr grosse Projekte und Sites, die schnell den Content wechseln. Manchmal weigert sich Google auch, deine Navigation richtig zu analysieren, dann kannst du ihm mit einer Sitemap auf die Sprünge helfen.
Eigentlich gibt es das Bestreben, das Format des XMLs für Sitemaps zu standardisieren. Eine Organisation bemüht sich darum:

Der Standard für das Format ist hier zu finden:
Sitemaps XML format
Da Google den Suchmaschinen-Markt so stark dominiert, sind die Standards von "sitemaps.org" zwar nett, aber als Webentwickler*in musst du dich leider daran orientieren, wie Google sich das Format vorstellt:
Google Search Central | Sitemap erstellen und einreichen
Google ignoriert <priority> und <changefreq>!
Aus diesem Grund wird im Beispiels-Script auf die Ausgabe dieser beiden Werte verzichtet.
Hast du ein Projekt bereits online gestellt, kannst du dir eine sitemap.xml automatisch erstellen lassen. Dafür gibt zahlreiche Angebote, kostenpflichtige und auch kostenlose. Ich habe mit "XML-Sitemaps.com" gute Erfahrungen gemacht:

www.xml-sitemaps.com.