By that line of reasoning software companies should not be a thing at all and everyone should hire engineers and write all their software in-house. Hiring and maintaining a team of developers is hard, especially if the problem they are solving is not in your domain. Contracting a problem out to specialists is most often the more sensible option for both parties.
Buying off the shelf software is reasonable. Outsourcing for expertise - whether that's having an external party write software for you, customize existing software for you, or something else - usually fails, IME.