I knows several small companies that run their own servers. The rent a little space in a local colocation service, put up two or three servers throw it behind something like Untangle and done. It is not expensive, difficult or time consuming.
These are all small SaaS shops amd have zero downtime and no security issues.
Paying for a hosting is not always the most cost effective route. A host isn't going to secure your apps, a host is going to pass the cost of supporting idiots that are constantly calling/emailing them to you/ A host might oversell, not do anything about someone else bogging the server and network down. A host will give you a one size fits most solution, not a custom solution(at least without paying huge)