Subsites are incredibly useful in all the following scenarios
- This site has a different function from the main site.
Assuming you are talking about an internal portal, generally you would want your helpdesk and your social committees to have their own subsite each. Because their information will almost never be relevant to each other, and they are both not commonly used.
- The site has a different target audience from the main site.
You could have a portal for all the interns to look at. It isn't private, it doesn't have a separate permissions system, but it has all the "Getting Started at XYZ corporation" stuff, and it has the various training handouts and other information all put in one small place.
- The site has information which is not needed elsewhere.
It is very helpful to classify all your information, and usually desirable to split it up as much as possible. If you have weekly status meetings, and someone creates and agenda, and there are minutes, and there are attendances and etc... then you can create a subsite to house only the information that relates to those meetings. You can then add a calendar and etc to it. That way, anyone wondering about the meetings need only go to the "Weekly Meeting" subsite, and all the information is laid out and tailored.
In general, you want to use subsites whenever there is a division of information. I would suggest that you fight against the urge to do most things in the root. In fact, I've often seen the root site mostly contain links to all the subsites. Because it is simpler to go to an area that is DEDICATED to the particular information that you need, rather than slog through the tons of information that would be stuck in the root.