Disclosure: I'm the founder of a performance marketing agency(Spear Growth). I have also been part of in-house teams and personally think my answer is unbiased, but I still run an agency.
There's a bunch of factors I can think of from the top fo my mind.
Budget:
Usually companies who step into PPC do it gradually. Gradually may mean different things for different companies. Some companies start with 3-4k USD, some with 10-20k USD. At least in India, this is the budget range I've seen.
If you're starting with 3-4k USD, it's probably too small to work with an agency. Doing it in house and getting some insights is preferred.
If you're starting at 10-25k USD, working with a good agency can save you a couple of experiments that makes it well worth the investment.
Existing capacity & bandwidth:
Do you have people in your team who can manage it? And.. do they have time to do it? Do you want to run a small pilot to at least test the channel first?
Most companies I've worked with, don't do this. Setting up initial marketing channels is much more difficult that "gliding" them later on. It's just as difficult to rapidly scale them. So in those scenarios, it usually takes up more time that you initially think.
But, I have seen some companies successfully run a small pilot > Outsource to an agency for a while > Build out internal team
PMF & Message market fit:
Do you have Product market fit? Do you know what messaging works?
If you don't, don't run the channel.
If you still want to, and have a good product marketer(can be the founder) who can dedicate time with the agency to run messaging experiments, then outsource.
Otherwise, probably keep it in house.
My advice: Don't use the channel in most cases.
FYI: Some agencies can help with this. They can have an extensive research and strategy module or/and workshops to help you fast-track this process.
Potential of current marketing mix:
If you already have a couple of marketing channels that are working well, can they be scaled instead?
Should you scale them first or really consider paid channels.
Market state:
Is there pre-existing demand and awareness for your product?
If so, you can run simple demand capture style ads and generate some quick pipeline for a decent ROI.
If not, even paid channels take time to stabilize and start working.
A lot of companies think paid will start working as soon as you switch it on. It can, but it depends on a bunch of factors, the industry and your standing in it are two major external factors.
Urgency:
How fast do you need to activate the channel?
If you need it to go live within 1-2 months, doing it internally will be difficult. Hiring, onboarding, setting up takes time.
Good agencies have optimised processes to onboard into your messaging, business, team, etc within a week or so.
Also, you need a lot of functions to run paid ads. Ad ops, copywriter, design, developer, list builder, tool procurement. Can one person + some tools do this? Definitely. But it's difficult (and costly) to find this person.
---
Just had 15 mins to type this so the answer is a little scattered. I hope it's still helpful.