If you want your own website, you need to get someone to host it for you, i.e., put it on their computer (a 'server'). Blueyonder, as you know, offer this as a free service. Most ISPs do I believe.
If you buy a domain, then you have two options. You can either set it up to simply point to your current host (blueyonder), or you can buy some hosting somewhere else for a fee. The former is perfectly fine but the address in the address bar of your browser will change to .pwp.blueonder. etc. which in some ways takes away the point of the domain. The latter will keep the domain showing just like most other sites, but you'll have to pay some small fee.
I found
web mania to be pretty decent hosts for a personal site. Not a bad price either for what you get.
If you decide to go down this latter route, you'll simply have to purchase a hosting package at web mania, and then change the nameservers for your domain. This is done from the control panel from whatever site you used to buy your domain with.