Simple answer: if you can get profitable with outsourcing alone, and have no designs on being the "next big thing™", then there's never a need to bring things in-house.
Where the in-house team excels, and why it is so tightly linked to the term "startup", is in making fast adjustments and/or progress on the product, and eventually in being able to do the same with the team. Practically doing either seems both (a) easier to accomplish with everyone being local to the same area, and (b) to require a LARGE amount of funding – that's where the investors come in.
If you never need outside investment, then you never really "need" an in-house developer team. At the smallest end of the scale, you can think of a successful wordpress blog or etsy store – all the software/infrastructure is effectively "outsourced", but money is coming in. And in some cases, these bloggers/craftspeople get noticed, and get book deals/shows/hired by brands/etc.
In summary, outsource at least until you have something to show off, if that's your only option. If you don't at LEAST have a crappy prototype to show these days, then the good devs aren't going to care much to join up for equity, and you don't want to pay them what they'd need to take you seriously as a 9-to-5 employee.