I don't know, somehow I prefer to have option descriptions close to the declarations. A POD is (hopefully) a comprehensive manual with detailed explanations, whereas --help is just a quick reminder for those who can't keep all the options in their head. Maybe I'm wrong and will change my mind later.
#2 is merely avoiding namespace pollution (via lots of exported functions - easy to forget or hit a collision), @ISA clutter (when one has to extend a Getopt:: class - I've seen that a couple times on CPAN), and awkward syntax (local $Foo::Bar::VariableName = $Foo::Bar::VariableName + 1 is a cool feature, but let's use it when it's needed).
Oh and thanks for mentioning Pod::Usage, I didn't know of that one.