Finally, another important reason for running your own webserver is the need for cutting edge hardware or distributed servers. Though you may find a host that can offer bleeding edge hardware, most of them offer middle tier technology due to the price vs. performance advantages. If you need the latest processors with the most RAM you can cram into a motherboard to run your resource intensive scripts, then running your own webserver starts to make a lot of sense.
If your web services have expanded beyond what can comfortably run on a single server, you may need a cluster of webservers behind a load balancer or using round robin DNS. When you have to scale your website hardware to this level, you will also want complete control over your webservers.
Most web hosting companies offer a wide range of products that can address many of the issues presented here. For example you can purchase a root account package which offers all of the flexibility of running your own webserver while maintaining the advantages of having your server housed in a modern data center. Quick recovery tools are also available should you make a disastrous mistake. Co-located hosting is another option where you can provide hardware of your own, should you require a specific hardware configuration, yet have the server itself reside in a modern data center. If you look further, you can find all sorts of different hosting companies. One of them may be able to accommodate any number of special services you may need.