3
Unfortunately, there is no one cut and dry answer to your question. There are numerous factors that you must take into consideration whe weighing the cost of hosted services versus setting up your own server. Here are a few to take into account:
What type/speed connection do you have at your disposal?
What redundancy do you have?
How experienced are you in administering a server (Windows or Linux)? This is a multi-part question meaning... Have you ever setup a web server? Have you ever configured a database server? What do you know about hardening an OS?
Do you have a router to segment your network and provide a first line of defense? I'm not talking a el-cheap-o Linksys router here. Think Cisco 2500+ with Cisco IOS 12.x.
How will you handle backups? RAID 0,1,5? Off-site? Tape? NAS?
What disaster recovery measures can you implement?
Do you have an IDS? etc, etc, etc....
As you can easily see, administering a web server is a LOT more than slapping Apache on some spare workstation and setting up MySQL. There are a lot of nasty people out there that love to prey on unexperienced admins.
If you are knowledable, you have the resources at your disposal, and you're not afraid to invest a bit of time in administering your setup, then yes, hosting yourself is the best way to go. However, if you answered no or "I don't know" to any of the above questions, you'd probably be better off paying for dedicated hosting.
Hope this helps.