Websites are stored or “hosted” on a publicly-accessible computer (a server). The storage space, and all the features that come with it, make up your hosting plan.
It is technically possible to connect your own PC or Mac to the Internet and have it serve pages. But it is not practical since usually, a home-based Internet connection is not powerful enough to serve many users at the same time.
For this reason, web hosting companies exist. They own and maintain very powerful web servers which store your web pages. They connect these web servers to the Internet by very powerful connections, enabling many web users to access your web pages at the same time.
If you want to run a website you need web hosting because unless you’ve got unlimited funds you would not be able to afford the web servers and connections necessary.