Before answering the question, you should really consider one of the two options.
Option 1: You have less time to manage your business but have more money
Option 2: You have more time, but less money.
In case of Option 2, its better to work with freelancers for multiple reasons. Since you have time, you can supervise the work done by freelancers and get the most out of them at a lower cost.
In case of Option 1, its better to hire an agency as they have set processes and expertise to market your business. How should you go about choosing the right agency for your business.
Step 1: Define Business Objectives
You need to define business objectives for your business and then ask the potential agency for a plan on how they will go about achieving the business objectives. Make sure that the plan they submit is tailored to your business as opposed to a generic plan.
Step 2: Check for Industry experience
Make sure that the agency you hire has previous experience in managing clients from the same Industry. Although, this is not mandatory, but having proven capabilities might be a good indicator of the results an agency can achieve for you.
Step 3: Time & Resources
Ensure that the agency will have enough resources (people & time on account) to allocate to your business. It's better to choose a small agency who can dedicate time to your business as opposed to hiring a large agency that already is stretched for time.