Link2SD is an application designed to provide a more robust way for users to move installed applications to their SD card, as well as proving this functionality to devices running Android versions earlier than 2.2 (when it was introduced natively). It requires an SD card with a second ext2/3/4 partition and a rooted device. Moving applications to the SD card with Link2SD is one method for dealing with a lack of internal storage space.
Note: Link2SD does not move application's private data files; it moves apk, dex (dalvik-cache) and lib files. (from the app's description at Google Play). So if you are concerned about those, you might want to look into Root # All Data2SD card.
Another interesting tool in this context is FolderMount -- which can be used in the Link2SD manner for apps storing their data on the internal-sd by default: this app links from the external-sd to the internal SD card, so apps "think" they access the internal card while they are really working on the external (microSD) card. Useful if your device only has very limited space on its "internal SD".