I don't think either absolute is the answer. The decision to outsource anything often depends on a particular company's operational strengths/efficiencies.
Maybe it makes sense for a software company to self-host some software, but they might hire a paving company to pave their parking lot. Likewise, it might make sense for that paving company to pave their own parking lot, but use SaaS software.
Maybe it makes sense for a software company to self-host some software, but they might hire a paving company to pave their parking lot. Likewise, it might make sense for that paving company to pave their own parking lot, but use SaaS software.