Web Hosting is required for all websites. Hosting companies rent space on servers so you can publish your website online. These servers sit in racks inside a data center. A single data center may have thousands of servers. A data center usually also has some sort of backup power generation along with redundant data connections. Hosting accounts come in 4 Flavors: Shared, VPS, Cloud, Dedicated, & Colocated. Most websites on the internet are run off shared hosting accounts.
Technically it is possible to host a website off any computer hooked up to the internet. Some people host websites on their home computer hooked up to a DSL or cable modem connection. Even though this is by far the cheapest way to host your website, your home internet connection will not be able to support high transfer speeds or multiple concurrent users at once. Also most users do not have backup power or data connections for in case the power goes out. For these reasons its better to let a hosting company host your website. They provide a stable platform to ensure your website stays online with little to no downtime.