The difference is that mod_perl requires Apache to be running and FCGI doesn't. Thus, you can scale FCGI onto an app server and leave Apache on the webserver while appservers for mod_perl require Apache to be running.
My criteria for good software:
Does it work?
Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
No, it's the same. FastCGI has some code that runs a daemon around your perl code. In mod_perl, apache is that daemon. When you run a front-end proxy, your proxy is the web server and the mod_perl server is nothing but a perl daemon, just like FastCGI.