Okay, to explain a bit. Yes there are 'free' websites you can get, and indeed 'free' hosting, but as you probably know, there's very little that is truly free in this life, so there's always a caveat to 'free' stuff. In the case of websites, what 'free' invariably means is the following...
1. feck all bandwidth (so it'll be slow and unsuitable for any kind of high traffic or commercial activity)
2. you'll not be able to have a decent domain name attached to it, so again, not ideal for any kind of commercial venture, so the domain name you end up with does not look good and does not inspire buyer confidence, when it is something along the lines of: www.freewebsitehostingforanythingyoulikeatall.com/freeuser6789210/freepage/index/blahblah/etc as opposed to something like: www.alanbradbury.co.uk which is obviously a bit more snappy and which only cost me a tenner for three years.
3. free hosting sites most often do not allow commercial ventures on them, since they want you to pay for the service.
4. there's very little promise as to how stable the service is, since there's not much of a contract involved, and since you are not paying anything, you can hardly complain if it goes down.
5. no support if there is a technical issue.
So, what you really want is a commercial hosting package, and to pay for a domain name. Now, you should bear in mind that you do not have to be some kind of web HTML wizard to create a site if you do go with a commercial hosting package, because for one thing, they give you telephone support and often have many tools offered for free to help you create the thing and get it up and running. With that in mind, here's what you should do...
Go to the link I posted earlier on this thread and on the main page, check to see if the domain name you want is available in the 'Domain Name Search' box. You will find that the suffix can affect the price of a domain name, so if you wanted joesmith.com, it might be more expensive than joesmith.org, or joesmith.net or joesmith.co.uk etc. From there, you can see if a, it is available, and b, how much it would cost you to buy that domain name for typically something like 1-3 years (it'll be about a tenner, maybe a score if it's a dotcom). Next you look at the hosting packages. The things to look for are: how many email addresses you get, how much bandwidth does it offer, how many web addresses will it support (since you can get multi-domain hosting), does it allow commercial usage and all that kind of stuff. Notice that if you pay up front for 12 months' hosting, it is a bit cheaper than paying monthly and so on.
You'll find that you can get something along the lines of 50Gb of storage (that's for any files of pages of your website you upload to the host server, and unless you are planning on rivaling Amazon, 50Gb will be plenty), unlimited traffic bandwidth (i.e. loads of people can visit your site and download files etc), a free domain name, and one domain name hosted (i.e. one web address) for about 4 quid a month (if you pay monthly that is, it'll be a bit less if you pay for a year in one go).
So, if you went for that and purchased it, you'd have your domain name and the hosting sorted, so now what you'd need is the website to upload to the server. Now, a site can be real simple (i.e. it could just be one page), or is could be many pages with a navigation menu and all kinds of stuff all over it. Web pages are (typically) written in HTML code (that'd be hypertext markup language), which is a fairly simple coding language which browsers such as Firefox and Internet Explorer can read and then format into your web page' layout.
Here's an example of a real basic web page in HTML code:
<!doctype html> (this bit defines it as being in HTML 5, which is the latest version of HTML code)
<html> (this defines the start of the page)
<head> (this is the header section start, which contains information for the web browser)
<meta charset="utf-8"> (this bit tells the browser what character set to use)
<title>My Airsoft Blog</title> (this is the title of the web page, it displays at the top of the browser window and is also something search engines check for, when someone does a search on Google etc)
</head> (this is the end of the head section, notice that the word head has a forward slash in front of it, which is the HTML code language for 'end', the 'head' bit is what is known as a tag, and tags are what format the content of a web page)
<body> (this is the start of the main bit of the page)
<strong>Chock is being very helpful here, isn't he?</strong> (this text is surrounded by 'strong' tags, which would make that text display in bold type)
</body> (this is the end of the 'body' section)
</html> (this is the end of the HTML file)
If I saved the above with the name index.html, it could be uploaded to my host server and linked to a domain name (via a control panel you get access to when you log in to your hosting service's website). And that's it, you'd be done. All it would have on it was one line of text in bold, but it'd be up there for all to see.
So, what that tells you, is that HTML is pretty simple, but in most cases, you don't have to learn much of it, because most web hosting places have 'drag and drop' type website creation tools which let you do all the website layout purely visually, and they write the code for you. It's handy to know a bit of code of course, but it isn't strictly necessary.
Hope that demystifies it a bit.