I will jump in and add to this as someone who is in marketing and has worked in an agency.
Marketing work is never ending and very fluid. There is always more you could be doing and you could always be doing something better with more time. It inherently doesn’t work well as spec work. And yet that is how marketing agencies operate.
Agencies are best hired when you do need something very specific done that you don’t have the expertise to do in-house. A video, a new website, a very specific, time-limited marketing campaign.
If the work is continuous, it should be moved in-house ASAP and it is better to wait then pay an agency to do it in the short-term.