Why use subagents at all
Why hire a junior developer if you have a perfectly competent senior developer already on your team?
You can do a code review on a "less capable" model that costs less, and the key model gets its output / summary, then you can have that model build a plan, and feed it to cheaper models. It's a more efficient approach than just running everything through Opus, and now that Sonnet is a lot better I'll probably use them more frequently, one thing to note is don't ask it to spin up endless subagents, I'd cap it to 2 or 3 at a time, otherwise, yeah you'll hit your limit extremely quickly.
Because two agents are faster than one.
Time is money. Parallelism is very helpful optimising one to get the other.
The models get dumb as context fills. Subagents allow them to accomplish a task with minimal context rot. You can also use cheaper models for subagent tasks
Preserve context in the lead chat - let the subagents fill up their own contexts then only return the necessary information.