I include the caveat most in point #1 because any application could be written to contain a script that (unwisely) had a hard path coded in it to /Applications/App name.app/Contents/whatever, in which case it would break if run from somewhere other than the /Applications folder.