I agree that CGI.pm is generally not the best CGI module. But its main advantage is that comes pre-installed on the system because it is a core module. Sadly, it has a lot of historical cruft that has to be kept for backwards compatibility. As for it not being "modern" I suspect it is because it was originally written a very long time ago.