Before you can post a page to the internet you need to have a place to put it. This is exactly the same as wanting to post a paper notice somewhere: You have to have a bulletin board to which you can tack the paper. These digital bits of real estate are called Servers which provide web Hosting (these computers play "host" to your website much like a hotel plays host to you on a trip).
Why do I need a Server when I have a computer and am always connected to the internet?
That's a good question. The reality is that you can, with sufficient knowledge and the correct software, host a page from your own computer. However, the internet is big, and so there are maps and street names and addresses which point people to a website. These are called
URLs and look something like "
http://production-now.com". If you haven't paid for a server, or at least the address name (called the Domain), you can't tell people where your site is. What's more, those pesky web map makers like to change your computer's location (IP Address), so even your computer doesn't have it's own home on the net.
Thus, a hosting service provides you with several things: A name (URL), a location (a static IP Address), space (for web pages and files), and sometimes other goodies like email addresses and a
code generator.
Can you get free hosting? Yes, but it comes at a price.
The adage is true in this case: You get what you pay for. It costs money to run and update computers as well as Domains and such. Thus, anyone offering you space on the net for free has to make money some other way. Often this is through advertisments. This isn't all bad, but it can be annoying and an eye sore.
There are also services that enable you to make sites without ads, but have significantly less customizability for it. In the end, knowing what you want to do with your website will enable you to make the choice of what you need from a server. It could be that a free option is perfect for what you want to do.