What Scur said is the main and probably only reason. You have to remember, when you install an app, it's also shared with the internal memory that is used to load and run apps. The more apps you keep installed into the internal memory, the less memory you will have to run apps. Remember, when an app is installed into the internal memory and it's not running, it's STILL eating up the memory you use to run your applications. Hence forth, you are wasting that memory storing apps.
Here's an excellent example. My previous droid phone was an LG Vortex. It had VERY limited internal memory: 150mb to be exact. Ouch! When I got down to less than 20mb of memory free, I would start having text messages failing to come in because I didn't have enough internal memory. I would have to either remove programs or clean out any old text messages, which was usually 10 messages.
On my Droid X2, I can have well over 50 messages and I still have enough internal memory.
Oh, and your title is a bit misleading because the apps really do go there, at least the main parts of the apps. Data usually doesn't go to the SD card, but it can depend from app to app. But, the main reason for moving to the SD card is not so you can just pop the SD card into another phone and immediately run it. It's as Scur stated.
You still have to download the app and install it and then move it to the SD Card, unless you have Titanium Backup Pro which will allow you to back up the data and the application to an SD card. Then, when you install TB on the new phone and set the settings to restore back to the original location, it will install the data and the application back to where you had them on the previous phone. I use TB Pro a lot when flashing new ROMs so I can get all my apps back to where they are without having to use AP2SD to move them back to the SD card.