An agency executes what you tell them to build — a campaign, a website, a content calendar — and does it well, provided you're clear about what's actually needed. Sometimes they also handle strategy, but it stays in their lane of expertise to execute it. They aren't truly objectively looking across ALL your marketing and business needs. They have an incentive to tell you what they do is the best tactic and ROI. For example, it's great that your website/digital marketing is bringing in leads... but what about your sales experience and nurturing? Are you converting your ideal clients in your pipeline, given there is a long sales cycle to manage? What about new customer onboarding? Client experience? Profitability? A CMO is looking across all those areas in a holistic way with your CEO and CFO.
What an agency isn't set up to do is sit at your leadership table and decide what's needed in the first place, or take responsibility when three specialists in three corners of your marketing aren't pulling in the same direction.
That's usually the real gap. Most companies I meet don't have too few vendors — they have vendors with no one steering them. I've managed retainer agencies at every in-house marketing leadership role I've had, so I'm not asking you to choose between me and the agency you already trust. I'm the person who tells that agency what to build and why, holds them accountable for the results, and reports back to you on what's actually working — the leadership layer a purely execution-focused agency was never set up to provide.