Matt Pocock tweeted a good frame for why subagents matter:
The dream for any coding agent is to do the same amount of work for fewer tokens. That means more time in the smart zone (first 40-50% of context). Subagents are so elegant a solution that you'll see them everywhere, forever.
The "smart zone" is that first 40-50% of the context window where the model is sharp. Past that, things degrade. The model loses the thread. Context rot. It happens gradually.
Using subagents can prevent a lot of needless context from entering the main thread. By delegating tasks to other agents, the context stays cleaner and stays in the "smart zone" for longer.
A similar idea is behind Ralph loops where each task gets a fresh agent, avoiding accumulated baggage from previous work.
I think about this a lot when using Claude Code. I delegate to subagents regularly now because it keeps each context focused.