Your hosting is separate from your domain registration: it is the server space you rent (or we rent for you) to host the files that make up your website, such as WordPress system files, the pages with your content, images and PDFs in your media library, plugins etc. You can have a domain name without have any content hosted on the domain (i.e. the domain is 'parked'). But if you want to display pages or images, sell items online, or collect information via a form, you must pay for that hosting service. To go back to the car analogy, you pay for your car's gas and maintenance separately from the registration fee.
Email is yet another service tied to your domain, but separate from both your domain registration, and your website content hosting. Email is a communication service provided by companies that have special servers for the emailing function. It makes sense if you consider that your email to and from other people is not something you want ending up on your website - it's not content to be displayed on your domain, but rather a function that lets you USE your domain name in your email address. Notice that free email accounts are not @yourdomain.org but @gmail.com or @yahoo.com etc.
Tying it All Together
DNS records are what ties everything together. They tie your domain's URL to the server where your website content is hosted; and to your email provider (MX records); and to any other services you might have associated with your domain (e.g Google Analytics). These services often come from completely different providers: you might have your website hosted with NAMI EasySite, but your email from Google Workspace, and maybe use Microsoft's Skype for business. But each of these services use the Domain Name System (DNS) to tie back to your particular domain name in the global database.