There are several reasons to pay for web hosting.
Your web host should have 99.9% uptime or better. It is hard to achieve that at home. Does your house ever lose power or have an internet outage? Do you have a backup generator and an uninterruptible power supply? Do you maintain multiple internet connections in case one goes out?
Most web hosting companies have that sort of infrastructure. Web hosting is typically done in data centers that host thousands to millions of websites in one facility.
Home ISP Limits
Your home ISP may contractually prevent you from running a server. They may block port 80 so that you can't run a website from home. You may not be able to get a static IP address at home.
There may be some partial work-arounds. You may be able to use dynamic DNS for a dynamic IP address. You may get be able to choose an ISP with few restrictions.
Do you have fast home internet? Is it symmetric? Probably not.
Even if your home internet is speedy, you can get much faster internet though a web host at a data center.
I'll bet you pay $50 per month for your home internet. You can pay that much per year for halfway decent web hosting. The incremental costs of web hosting are not much compared to how much you are paying for a home internet connection.
To own a domain name, you need to pay $10 per year whether or not you host at home.
Upgrading your home internet is much more expensive than a similar upgrade at a hosting provider.
If you buy managed hosting, you can get somebody else to install your software and apply updates to it. If you host at home, it requires that you do all that yourself. The amount you need to know to host yourself can be daunting.
What happens when you need a bigger server? A second server? A separate database server? Multiple servers behind a load balancer? It is easy to upgrade your setup at a hosting facility. Cloud hosting providers allow you to do all that in your web browser with a few clicks.
Start at home if you want
So start out by hosting your own website at home if you want. If you are frugal and technically savvy, you can do it. Just know the limitations. When your website takes off you'll eventually want to get hosting. I bought hosting for my website once my site started earning enough money to pay for its hosting.