It is possible to build a website for free, but you will need to be prepared to have an ugly url, and ultimately not have full control over your website.
You can build sites like this on other people’s domains, sites suchas Weebly.com, Squidoo.com, Blogger.com and many others, all allow you to setup a website on their own domain, and run it like it’s your own website. They will not charge you at all for this service, but you will need to be content with using a url such as: www.weebly.com/mywebsite/
If you want to build a website with your own domain name, then there really is no way around it, you need to pay a few dollars a year for the domain registration and web hosting. Check out our step by step tutorials here.