For some phones and devices (especially the older ones) the internal storage is quite limited. Every application (and it's data files) take precious space. I.e. my Ideos has 512MB and was nearly full before I started "evacuating" apps to the SD card.
Another factor is the ability to backup your apps and data, or move them to another device.
Other than that, you are right in your observation that apps load slower from the external storage compared to the internal storage. This is very visible if you have those apps' shortcuts on your home screen - you'll see a generic Android icon for the first 30 seconds until the app is located on the card.
I found that switching to a class 6 microSD (I had the default class 2 that came with the phone) improved the situation considerably. Still, it takes my phone about 20 seconds to "equalize" following a cold start.