This question doesn't get asked as much as I would like. It seem people automatically assume that hiring a marketing agency is expensive and hiring full-time marketing support is better. But is that really so? *HINT* NO.
Hiring full-time support makes sense when you know specifically what you want, and you need someone to take on only that specific role. For example, if you're an e-commerce platform and you need someone to manage SEO/SEM. However, what tends to happen is that companies hire a digital marketer and expects them to do EVERYTHING under the digital marketing umbrella - this includes social media, content creation, SEO/SEM/PPC, influencer outreach among many other things. Sure these people exist, but they're few and far between (and expensive!). In reality, most digital marketers are specialists in only one (if you're lucky two) of the categories.
On the other hand, with agencies you can tap into their resources. For the same price as hiring one digital marketer (we'll assume they're a social media manager), you can hire an agency that has resources across content creation, data analytics, etc. Most companies are small and don't need full-time help across all the different areas, so hiring an agency makes more sense.
In many cases hiring a full-time digital marketer means that this person is just there to manage all the different agencies that the company is using.
Deciding to hire between a digital marketing agency and a full-time digital marketer really depends on what stage your company is currently in. In most cases you can't go wrong with going with an agency (obviously biased), but like everything there are many different factors affecting the decision.
I spent a bit more time analysing the different situations, and you can read them on MEDIUM.