It will all depend on your requirement in both cases you have some pros and cons.
First of all, we will discuss the freelancer :-
Freelancer is an individual person providing services as a single person. The Best profit to work with a full-time freelancer is he will dedicate work for you. Another point is the cost ....Obviously, freelancer charges much lower than an agency. But most of the time it is difficult to coordinate or track them. as a result, you need to increase your deadline of release and also a major issue is a maximum time a freelancer don't have a full stack skills. In that case, you need to hire multiple freelancers to complete the job.
For Example :- If you want to design and develop a Website. You need to hire a creative graphic designer to finalize the UI and Layout of a website. After that, you need to hire a web designer to convert those graphics into a web page and at the last you need to hire a programmer to implement the functionality and a tester to test
the site. It is so hectic to handle a remote team for a nontechnical person.
Agency is a team which has a specialized person for each and every possible task but working with the agency is costlier as compared to working with the freelancer. plus point to work with an agency is that you will get a team of experts in one place working together. Teamwork is a great key to achieving a quality product as well as on time. At the last, you will get a quality product along with a proper service and support. Agency always keeps this in mind that they need to maintain their reputation in a market to maintain a continuous flow of sales funnel. They always give a priority to the client satisfaction and strict about the deadlines.
Ultimately, there is no correct answer for choosing a professional agency or a freelancer.
Remember, everything depends on your needs.