There use to be more benefits to hosting yourself, like when it was hard to find a host that offered PHP at a reasonable price, but competition has really brought prices down. Also, a good number of host offer a good deal of options, like multiple server side languages (PHP, Perl, Python, Ruby, etc.) as well as SSH access and cron jobs (very nice for setting up backups), and one-click installs of common web apps like WordPress, Drupal, and the like.
I started out by hosting myself, but I did get tired of keeping my computer on 24/7, and then when a storm took out my power supply that really sucked and my site was down for a day or two while I switched files over to a different machine, then had to order a new power supply. Also, I didn't always keep up with updates from Apache and such so I was never convinced I was as secure as I wanted to be. You really need to know your stuff when hosting yourself because there's a lot of little things you have to watch out for.