My primary work product is a fairly large open source software system with users around the world. Perl is currently only used for configuring and building the other software, which is mostly written in C and C++. I am rewriting some of its Lex/Yacc/C-based programs in Perl for increased flexibility, but we don't want to have to support all our external users (who don't pay our salaries) in installing modules from CPAN and handling any version dependencies that my code has.
We can (and do) say "this software requires Gnu Make 3.81 and Perl 5.6 or later" since they are not a hurdle for most users (other than those poor guys forced to work on Windows), but to add "and the CPAN module Acme::Blah 2.2" would leave new users puzzled, increase the traffic on our mailing list, and might scare some of our users away completely.
Luckily our needs are light and most things we need are available in the core distribution so it's not that much of a loss. This is therefor one scenario where CPAN isn't necessarily useful (sorry to burst the bubble).