If you have a server at home, this can be good for local web development or testing. However, you might want a dedicated hosting provider to handle your customers. Chances are, your hosting provider has a substantial investment in servers, maybe costing more than you could afford. In other words, some hosting providers have spent millions on infrastructure. Now, unless you have spent anywhere near the same money, you are better off going with an off site dedicated server, rather than relying solely on a home server.
While it may seem very convenient to host a server at home, it will get super complicated and full of risks as time goes on.
For starters as Alex said keeping track of costs would be an added burden on you. The electricity consumption and the costs to replace damaged hardware would be too much to take. Whereas if you're getting the service from a dedicated hosting provider they would take care of damage to hardware and the electricity costs would be added to your monthly bill (so there's no difficulty in keeping track).
Not to mention your home network connections. You may have a very fast network but it is an entirely different, much lower scale to how fast data centres can take it. So whatever you're hosting on your server will be much, much faster if you host with a service provider. Also if uptime and availability is important to you hosting with a service provider is the best option. Because data centres obviously have different levels of redundancy (N+1, 2N, 2N+1) so the likelihood of a service from a data centre going down is very low. However at the end of the day it all depends on whether or not you're willing to take these risks and your own level of expertise on server administration etc.