There is nothing stopping a company from fixing bugs itself
If the company doesn't hire programmers, or if their programmers are not competent at the particular language/APIs/tools at hand, then this path would require hiring new developers and potentially purchasing development software. So in this case, cost may be stopping the company.
or outsourcing to a company to do so.
Assuming this even exists. Only a few of the open source projects I've used have any type of paid support, which brings the company back to paying for their own developers.
Granted, the company probably saved a lot of money by using open source in the first place. But in the end, many companies will choose to foot a larger bill if they can budget for it in advance. "We will need $100,000 for Office licenses" often sounds better than "We didn't budget for it, but it turns out we need $30,000 for various unforeseen development expenses."