@Carl Hancock - Well you've proven to me once again that there usually is no one size fits all. The scenario and situation you provided certainly makes sense for GravityForms. I certainly wouldn't want to accidentally delete everything after removing GravityForms which is why I think it's good that you've turned it into it's own unique separate process with a big warning. But, I think GForms is an edge case scenario along with perhaps a few other plugins but I bet the majority of plugins would be just fine with the Uninstall.php method.

At any rate, I'm glad you wrote your comment to give other plugin developers a different perspective on when it might not be best to go with either the hook or uninstall.php. The one thing I'd hate to see are general typical plugins all coming up with their own uninstall methods.