To be honest, each method is good in its own way, and it's hard to choose one option over the other. I would say that everything is situational. You can read about this on the Develux blog here https://develux.com/blog/outsourcing-vs-insourcing-the-great-dilemma They have described it in detail and explained which option is better. In my case, outsourcing turned out to be more promising.
Lack of responsibility
Does your team blame others and refuse to be held accountable for misunderstandings on multi-team projects? Make sure your vendor has set up logging and troubleshooting tools to find out where problems are occurring and fix them, read more here website. The recurring havoc of accountability after setbacks may be a sign that you've partnered with the wrong company.