PHP succeeded in part over mod_perl because of the very statelessness you describe. State is delegated to a database or a memory caching service; each request is answered from scratch.
mod_perl allowed programmers to sink their application code deep into the guts of Apache. In retrospect, this turned out to be a dead-end because it is difficult to install, difficult to update and difficult to scale up.
PHP's lack of power and low cost of operation ("here's your FTP account, have fun") made it much more attractive to shared hosts.
In short, operational advantages outweighed programming advantages.
mod_perl allowed programmers to sink their application code deep into the guts of Apache. In retrospect, this turned out to be a dead-end because it is difficult to install, difficult to update and difficult to scale up.
PHP's lack of power and low cost of operation ("here's your FTP account, have fun") made it much more attractive to shared hosts.
In short, operational advantages outweighed programming advantages.