Subagents allow you to delegate work to other agents from your main agent.
This allows you to decompose agents into saner pieces, mix and match language models, protect against context bloat, and increase concurrency and speed.
Some examples could be:
Web Researcher subagent (vs simply using a search tool)
Fact validation subagent (vs using read post tool and search)