Freelancer, agency, or your first design hire
Three ways to get design done, each right in different circumstances and expensive in the wrong ones. An honest comparison from someone who is one of the three options.

I am a freelancer, so treat this accordingly. I have also been the in-house designer and worked alongside agencies, and I would rather tell you when I am the wrong answer than take a project that was never going to fit.
An agency
Good when the work is big, the deadline is fixed, and you need several disciplines at once. Research, design, front-end, content, all coordinated by somebody who is not you. If you have no design function and a board expecting something in a quarter, an agency is the only option that can absorb that.
The cost is not only money. You are buying a team you do not choose. The person who pitched is rarely the person who does the work, and the work is priced to cover the pitching, the account management and the people between you and the designer.
The real risk is that when the engagement ends, the understanding leaves with them. You have files and a brand book, and nobody in your building knows why any of it is the way it is.
A first design hire
Good when design is going to be continuous, not a project. If you will be making product decisions every week for the next two years, you want that knowledge to accumulate somewhere inside the company.
The cost is that a first hire is a big commitment made with the least information you will ever have. You are choosing a person before you know what you need from them, and you have nobody qualified to evaluate the design work once they start.
The real risk is hiring at the wrong level. A junior alone with no one to learn from will grow slowly and make expensive mistakes unsupervised. A senior with no product to build gets bored and leaves within a year.
A freelancer
Good when the work has a shape. One product, one feature, one audit, one launch. You want a specific person, you want them now, and you do not need them forever.
The cost is that there is one of them. They get ill, they take holidays, and they are working on other things. A freelancer cannot absorb a scope that doubles.
The real risk is the same as the agency's, in miniature: when they leave, the reasoning can leave too. This is worth asking about directly, and the answer tells you a lot. On my own projects the spec engineers build from is the running prototype, and the decisions are written down as they are made, specifically so the understanding survives me. Ask whoever you are considering what you are left holding.
Which one your situation actually needs
You have a product and one thing is clearly wrong. Freelancer, and probably an audit first. An agency will scope it into something much larger, because that is what agencies are structured to do, and a hire is a year-long answer to a two-week question.
You have nothing and a deadline in three months. Agency, or a freelancer who has taken something from nothing to launch before and can tell you honestly what will not fit in the time.
You will be making design decisions every week for years. Hire. Bring in a freelancer or an agency to get the first version out if you need to, then hire into a product that exists, which is a far easier role to fill and a far easier one to judge.
You do not know which of these you are. That is genuinely common and it is a fine thing to say out loud. A short piece of paid work with a freelancer will tell you more about what you need than another month of deciding.
The question that sorts it quickly
Is this a project or a practice?
A project has an end. You can describe what "done" looks like, and when it is done, the need mostly goes away. Projects suit freelancers and agencies.
A practice has no end. Decisions keep arriving and somebody has to keep making them. Practices need somebody inside.
Most people asking this question have a project and are worried it is a practice, or have a practice and are hoping it is a project. Working out which you have is most of the answer.
What I would say if you asked me directly
If your thing is a practice, hire. I will happily help you get to the point where that hire has something to work on and you know what to look for.
If it is a project with a real problem behind it, tell me what is going wrong and I will tell you whether it is the size I think it is.