Source control applications don't generally worry about dependencies, and they also generally aren't concerned with multiple projects.
Using .NET as an example, the SDK patches would include:
Drivers
DirectX
XNA
WPF
BackOffice
SQL Server (or Express or Lite or whatever they call it)
System libraries
ASP.NET
C#
F#
ILR
C++ .NET
VB.NET
And the list goes on.
Apple's developer kit has a similarly vast suite of libraries and services, I just don't know all of their names. Each one in isolation wouldn't be all that big a deal, but combine them and you have the option of massive downloads or a nightmarish dependency management problem.
With Visual Studio for example, it's not only about merging files, but installing various DLLs (for the runtime - vcredist*.exe), COM objects, .NET stuff, etc. Also creating (if possible) proper uninstalls.
VS2008 runs some SQLserver, PDBserver, and who knows what else (run ProcExp and see)
They manage it for typically-small changes. Try computing a patch for the differences between major revisions of a Linux project, and watch how long it takes. Then try to apply it.