as for the difference between disabling and re-enabling vs redeploying a webapp, notice that disable merely sets a flag in the webcontext, causing any requests for any of the webapp's resources to result in a 503 response, which indicates that the service is unavailable. disabling a webapp does not stop the webapp, meaning its webappclassloader (and any of the classes loaded by it) will remain intact.
this is different from a redeploy, which creates a new classloader and discards the old one.
as for the admingui's redeployment behaviour (which caused a webapp to always be deployed to all virtual servers, even if the webapp had originally been deployed to just a subset of virtual servers), this has been a bug in either the admingui or the deployment code, which is supposed to have been fixed in the upcoming GF v2.1 release.
[Message sent by forum member 'jluehe' (jluehe)]
http://forums.java.net/jive/thread.jspa?messageID=257781