Apache::Registry is the part of mod_perl that will compile, cache and execute your perl CGI scripts within a pseudo-CGI environment. What makes Apache::Registry so great is that it allows you to use all of your old perl CGI scripts without any significant modification. CGI scripts run under Apache::Registry are much faster than before, sometimes by a couple of orders of magnitude.
Often when someone says that they use mod_perl on their web server, they really mean they use Apache::Registry to speed up their perl CGI's rather then actually using the full power of mod_perl to do authentication or sophisticated content handling or something.
Apache::Registry kicks ass for deployment, but it kind of sucks for development because it doesn't check the use'd and require'd perl modules to see if they have changed (unless you use Apache::StatINC, but then you need to develop your perl modules in a directory in @INC.)