Registrar = a company that is liscenced to register a domain name for you.
Host = a company that will allow you to have a website on one of their servers.
You don't have to pay a host anything in order to get a domain name. But unless you own your own server, you'll have pay the host in order to actually have a web site. Some companies are both registrars and hosts. Sorry, but I don't know of a registrar that handles .co.uk names. You might want to try Network Solutions - they were the first registrar ever. I bought my domain through them.