Typical approach for most games is to check in external deps with the source tree.
Agreed, and for good reasons.
If we need to re-create an old build for any reason we'll need to have all the parts. That is for code AND data AND tools.
If there is a reason we need to re-create an old build, like an executive comes out and says "I want to show the same thing we showed at E3", or perhaps the project gets mothballed for a year and people need to get started on it again, then you'll need all the old stuff.
If you are pulling from a public source perhaps the library version 2.73 is no longer available; maybe they've moved on to 2.96 and didn't bother to archive the 2.73 release. Now you're forced to hunt down the older version or potentially try to rebuild and migrate and fix anything that broke.
That applies to tools as well. Let's say you've got something that compiled with a specific version of an in-house tool, but that tool has moved on. Maybe you were using an art export tool to extract data from all the Maya files and import that data into your automated process. Now you cannot build any more because the new version of the tool doesn't work with the old data formats.
And finally, it applies to game data as well. If development has gone on for six months perhaps the asset file format has changed. For the old build to run I need the assets in the old format. If everything is kept in a database that isn't archived, or kept on another file system that is not part of the identical version control system, then I cannot re-create the build with matching old build. You'll have the code but not the assets.
Everything goes in version control. If it is an online resource then snapshots of the online resources are made and included as well. This includes localization database snapshots and online service snapshots, where necessary. This is a big reason why systems like git don't work well in these environments; git is great if all you're storing is a few megabytes of text-based source code. Throw in few gigabytes of assets and git falls down, let alone the terabytes of raw assets common in large modern games.