Say I have a javacsript file containing ten components. Why, exactly, is this better for performance than loading 10 files containing a component each? It seems like it's the same amount of data? So what's the difference?
The difference is that browsers don't load all resources at the same time. Most browsers only have 2-4 concurrent requests open, so if you have 5 JS files, the browser will request the first four and then wait until one of them completes before requesting the 5th. Some older browsers only request one JavaScript file at a time, and wait until it's fully parsed before fetching the next.
Often the network time is the worst part of the user experience (especially in some parts of the world or on some devices), so having a bundle where only one request is made instead of 5 means your app will feel more responsive.
There are a number of good articles online about this as well, YSlow was one of the first tools & metrics used to check these things, but there are others.