It depends what you want to do with the coding language, i no nothing about cgi but i do no some php like how to make a register, login, logout and you can also learn how to make game scripts like http://www.torncity.com or http://www.neopets.com using php, I hope this helps you a bit.
i say php because you can use mysql to save data and php also uses sessions so users can be secure and you can easily transfer variables from one page to another.
i think php, because it is easy, fast, poppular in hosting companies. CGI you mean ActivePerl ? if yes, then, i dont know this stuff very good, to i can not say you its advantages. (CGI can be not only activeperl, but and rebol )
php is da best
cos it is free and open source
not sure about asp (microsoft i suppose)
cgi is definitely not the best choice
it's rarely used nowadays, because it is slow and inefficient