Host headers are created in IIS and allow you to map multiple URLs to an application. Routing and identification of the address is done by IIS not by SharePoint.
Alternate access mappings allow you to assign multiple URLs to a web application in SharePoint. At this point SharePoint is aware of the URLs and can properly map them in search results, etc... so that users who access a web app from a different URL get consitent results.
SharePoint does allow you to use a host header for a web app during creation. This creates the host header in IIS for you. Host headers allow you to have multiple web apps using different URLs but on the same port. Otherwise IIS would give you issues when you have multiple web apps on the same port. For example port 80. If you create host headers manually in IIS SharePoint will not know about them so any backup/restore, search results, etc... may not have all the URL information that your users are using to access the site.