Have you found a website that offers very cheap, even free domain names? Trust me, it will cost you one way or another.
So the basics, if you didn't already know them. The domain name is just that, a name. It isn't in itself the website. The domain name has to be kept somewhere and it doesn't have to be with the some company as the domain name. This is domain parking.
When you set up a website, or your email for instance, they will be set up on a computer or server probably in a big data centre with thousands of other such systems. Each 'server' will have an IP number. Every device connected to the internet has an IP number. To make your domain name connect to your website or email the IP number is added to the DNS record of the domain name. So each time somebody uses your domain name it connects to your email or website.
Many of the companies offering free or cheap domain names may not allow you to change the DNS settings so that the only company you'll be able to use for your website and email hosting is the same as the one who sold or gave you the domain name. I suspect they will charge you for that. After all, you are now their captive customer, you can't go any where else. In some cases you can change the DNS but you will be charged every time you make a change. Fast host charge £25 per change when I last checked.
I buy and manage all my domain names on 123-reg.co.uk. Their prices are very reasonable and they don't charge for domain parking. More to the point it is possible to make all the changes to the DNS you might need with out any restrictions or charges.
Ok, you have got your free domain name, but is it yours? Probably time to check as some companies aren't as honest about this as they might be.
To check go to https://www.whois.net and enter your domain name. You should get quite a few details showing up. In this regard the important one is the 'Registrant'. That should be you. If it isn't you need to contact the company you got the domain name from and find out why it isn't.
The rest is probably for another bloggett.
Domain names, getting it right at the outset