Also if you decide to host you need a good internal network. Home routers are no good.
You also need a minimum 2 servers. On for IIS or Apache and the other for the database.
Take this for example. As of Monday, my company now supports BES. I have a 1 user BES in a Virtual Environment. (May not be the best example but its very similar for web hosting)
Having the Windows Server 2003 with Active Directory, Exchange Server and BES. At idle, my cpu is 89% and 2.23GB of RAM is used.
This system is running in a virtual environment, has a 2.6Ghz CPU and 2GB Ram with 80GB HDD assigned to it.
In production. This means I am looking at Intel Xeon quad cose with 8 processors, 8 GB Ram and about 250 GB in Raid 5. Literally this is gonna cost me a fortune but will benefit me highly in the future because I can move the Database off the system which will allocate RAM and HDD and allow it to run smoother but only the cost of that machine is a few thousand. I will pay 200$ a month for power. My server line is 200$ a month.
That alone I can tell you is going to cost me over 5,000$ this year for return in investment. I could go to Gator Host and get two servers for half that cost if I was not worried about all the other options.
I highly recommend outsourcing your hosting for a fraction of your cost.