Why start-ups/companies prefer in-house development teams rather than a fully equipped off-shore Product development Team.
Startups and companies tend to have different development requirements. For companies, they tend to know what they want and so can document that requirement and use an outsourced team to deliver it.
Startups these days tend to use the Lean Startup approach where outsourcing doesn't work. Using Lean, a startup doesn't really know what the requirements are. They come up with a hypothesis first, then build an MVP, and then go out to test that hypothesis with potential customers. In 90% of cases, that hypothesis will be incorrect and they have to pivot by coming up with a new hypothesis.
I typically recommend that MVPs should be done using no-code platforms and shouldn't take more than a few weeks. During that time, you're rapidly re-writing the MVP as you learn more from your potential customers. That tight development iteration isn't appropriate for outsourcing because your iterations last hours/days. Outsourcing is only appropriate if the iterations are weekly/fortnightly.
1) Full control and flexibility
2) Quality and speed
3) Budget (not always)
4) Know-how and innovations in house
You most likely will get answers that explain how business environment happened to be in the situation you describe: preference towards in-house dev because of 1) need of control... 2) co-location benefits... 3) etc .... 4) etc ....
Look at it differently: the business environment has been evolving for ages the way that showed to players that "in-house devs" strategy has higher chances to hit...
Do you know the alternative where fully-equipped offshore team would be a winning strategy? If yes - you will know the "why"-answers yourself, by just comparing two alternatives.
It's always challenging to get someone working outside the company. The biggest issue about start-ups (that doesn't have huge funds) is that you don't have enough people. So you basically have to multitask and the last thing you need is someone outside that you have to constantly monitor and delivery task that can't work by himself. Not because is not competent, not saying that, but when you are inside the company you meet the customers, you have a full interaction that allows you to see problems without somebody go there and tell what you have to do.
It may look like (it's not my job) but at startups you have issues that you need to address like, you arrive the morning, have to make coffe, you have to make the place clean, you have the marketing, business cards, you may have a plant on the corner that need water, who will change the toilet tower? The printer just stop printing, the computer just stop working, we need a hole in that wall to put this board.... we run out of pens, this chair is broked, the server is down, we have no power, internet stopped and we need to call the internet company and so on.. so on.. so on...
Looks stupid things, but they consume time, energy and remove your focus. Have people inside the same place who believe in the same thing make them help each other with those small tasks that bring the people together.
@Victor gave you the summary. If you don't know why you're being rejected by prospects, you aren't doing your homework. Price is not the only consideration. Like all remote work, it is never as good as work done in-house by someone with a stake in the outcome who has an intimate knowledge of the business and the consequences of decisions.
I assume you're talking about software products, but "product development" also means hard goods, not just software.
Regardless, the ability to lean over someone's shoulder, have them explain what they're doing, make choices and changes in real-time and see the effects, overhear conversations with clients, keep an eye on whether the team is goofing off, keep an eye on the mood of developers, provide inspiration, and many more elements, are all advantages of in-house work.
Yes, we live in a world where most jobs can be done remotely, but without the interaction between co-workers, the collaborative and learning aspects are diminished. Sure I have salespeople who would almost never come into the office, but I make them come into the office regularly because they need to know (from being adjacent to it) what else is going on in the office. They need to hear customer support phone conversations, they need to see marketing people as people and not just a concept, and so on.
Aside from the basic trust issues, the in-house developer will always create a holistically better product. Although many companies choose to outsource, they are making a specific compromise for speed, price, or something else. Hopefully they're aware of what they're trading off.