At the moment, WordPress does offer free hosting, but only if you're willing to include ".wordpress.com" in your domain name.
For instance, if you wanted to call your website "SwimmingTipsAndTricks.com" and were looking to host it on WordPress for free, then your site would be "SwimmingTipsAndTricks.wordpress.com".
If, however, you'd like your website to just have your domain name in it, and nothing else, then you'll need to decide on a different website to host your site for you, all of which will charge a fee for that.
The cost of hosting depends on many criteria, such as:
1. Size of diskspace
2. Number of free domains included
3. Number of sub-domains
4. Ability to host multiple sites
If you're looking for your own domain with good capabilities but without much expense, you'll probably have to pay about £40 a year, upwards.
WordPress itself recommends using one of the following hosts:
1. Bluehost
2. DreamHost
3. Laughing Squid
But if the £40+ investment sounds too expensive, I'd recommend simply including ".wordpress.com" in your domain name. A lot of people do the same, especially when they're first starting out and/or are only using the site as a kind of personal blog to share amongst friends, families, and followers.
Here's a great video tutorial that helps you to start up your own website in 15 minutes or less!