I am decently experienced in website hosting. I own a domain, and I have it directed to my server (in my basement) that hosts my website along with some video game systems. My ISP, Comcast, does not get mad at me for hosting, and my IP has not changed in a year. Comcast cuts you off after 200GB of traffic per month, which is well under what I do, average 80GB/month with heavy gaming, hosting of game servers, streaming movies and hosting website. I use Apache web server software (it's free!) and CoffeeCup HTML Editor (I have the licensed version, but there is a great free version) for my web activities. I also use phpBB3 for forums.
Personally, I am against buying web hosting. I like hosting my own, because I cannot get cut off for using too many resources, I can physically control my resources, OS and everything. I can also control my uptime, keeping it as close as possible to 100%. I am not parking it on some cloud somewhere across the country and shelling out cash for it. You can host a site on basically any computer, I used to run mine on an old Pentium III 450 (and it ran perfectly) before getting my Aberdeen beast of a server.