In its simplest form, a website is just a collection of files that store information. Like all types of files, they need to be stored on a computer somewhere.
As I am sure you already know, it just is not practical to host a website yourself. It is technically possible to do it, however to achieve this you would need a computer to be online 24 hours a day, 365 days a year. You would also need a super fast internet connection throughout this time. Disregarding the huge electricity bills you would receive, it just is not practical or safe to do this.
Hosting companies have large data centres for hosting websites. Racks and racks of computers, known as servers, are located in these data centres. These data centres are protected by security firms and have backup power supplies so that servers do not go offline; even in the event of power outages.
Professional companies ensure that your website is online at all times. They host all of your website files, configure your setup so that your website is protected against hacking and ensure that your website is capable of handling traffic spikes. Additionally, the technical support that a web hosting company provides is invaluable.
Bottom line, this is not the 1990's: You need to use a web hosting company to host your website files.