The second major reason people run their own webserver is due to a need for flexibility and control. When you manage your own webserver, you maintain absolute control over what processes are running, what software is installed and over what network traffic flows in an out of your server. By exercising this control, you gain flexibility with regards to specialized software, custom system configurations and system resource allocation.
For some applications you will require special software that would not normally be available from a typical web host. Other times, there are features that you need that are turned off by default for security purposes. These features are often very powerful and very useful to an experienced webmaster who pays attention to what he or she is doing. Think of these special features as a very sharp knife. You wouldn't want extremely sharp knives for customers in a restaurant because they might hurt themselves if they're not careful. For the chef however, these dangerous tools are invaluable, yet always used with with care.