You certainly can host them yourself. But there are lots of reasons not to. A legitimate hosting service is going to have big fat pipes, redundant DNS, reliable power, automatic backups, etc. However, you really only need a static IP (yes, I know about DynDNS and those things) your own ISP must allow it, and the understanding from your clients that a home-brewed host isn't going to offer service agreements or drop dead reliable ecommerce. And that sounds like your problem with your current provider. I would look for better hosting company. Cheaper doesn't always mean saving money!