Why do I need a web site hosting service at all?
You have created some information for your web site and now you want your web site to be found on the internet and need a hosting service?
You don't!
If you install server software on your computer (or it may be already installed) you could send people a number like 123.456.78.9 (actually an IP address). Then they punch this number into their browser's address bar and can view your website.
There is a down side!
Your computer must be running all the time and your IP address must not change. Depending on your Internet Service provider (ISP) this address may change every time you connect to the internet or once a day. Even if your computer is running all the time there might be a black out and you may not have sufficient (expensive) equipment to keep you going while the power is off. Most of that equipment gives you no more than 15 minutes backup time - just enough to switch it all off before any data is lost.
There is a lot of software needed If you want to host a website on your computer. This software has to be maintained and may be vulnerable to attacks from the internet. Furthermore you want to have an automated backup so that no information is lost in case your computer (your server) crashes. Your internet connection needs to be fast and redundant (you better have more than one internet connection) so that if many people have heard about your website and everybody wants to access it at the same time it will still be able to serve your pages. Your email, which is sent and received on your server with necessary SPAM filters and Anti Virus protection (there is a war out there...) is equally important. And wouldn't it be nice to have web site statistics, a MySQL database, php, perl, cgi and, and, and...
If you don't want to have sleepless nights and constantly worry about your server - you'd better hire somebody with the right equipment and knowledge to do the job for you!