The disadvantage of moving an app to the SD card is that if something happens to the SD (like becoming corrupt, which happens more often than you may think), the app can become "broken," since some of the data it needs is stuck on the faulty card. You would then have to uninstall the app, then reinstall it again, and you may then lose some of that data.
The ability to move an app to SD really depends on the developer, although I don't know about the technical reasons behind why a dev may not allow an app to be moved. Be aware as well that moving an app never moves the whole thing--it's only a portion of it.