Many questions in one, but all connected -- so I'll give it a try:
You can device those apps in two categories, basically: those which work "similar" to the native app2sd, and those which don't. There are several rules an app must obey to be "allowed" for installation on SD card. Apps installed on SD card can e.g. not automatically start at boot time (as the boot_completed
event is broadcast before the card is mounted). They also may not offer widgets, services, alarms, and some other things -- as those functionalities would break when the sd card gets "removed" (e.g. when mounted to the PC). All these rules are obeyed by the native method. Those "advanced app2sd" helpers which "move more apps" mostly ignore some of these rules. The app will work nevertheless, but maybe some of its features are broken.
And then there's at least one app working completely different: Link2SD. This app simply creates "symbolic links" to the sdcard (after copying the app/data over there), and thus fool the system which still thinks they're on internal storage. By using a separate partition on the card (which will be "invisible" when connected to the PC, and thus not mounted) it works around some of the caveats -- a trick some of the above mentioned "advanced app2sd apps" also play. This variant obviously requires root, as it handles apps and their data itself -- which is not possible for a non-root app. Same applies to some of the above tools when they offer to move app data / Dalvik cache to the card, which is also not possible without root.