you wrote:
Also, I would like to know if the CGI/PERL combination is so inadequate, why would anyone be spending any time developing in it?
Immagine you have to run the script with a different UID
from that of the web server: a cgi script can be run suid,
instead a mod_perl script runs inside the httpd process
with the same UID.
an other reason could be portability:
cgi run almost everywhere, if you don't control the server where your script run maybe your oly choice is cgi.