Success of WordPress: PHP vs. Java
One reason is that PHP provides a lightweight way of building efficient web applications. Russel Beattie writes:
Once again I ask - why is Java web programming not keeping up? Why are Java web projects so bloated (I've got 5+MB of .jar files in my current web project and I think more are coming). Why are the pages so difficult to set up, maintain. Why do Java programmers insist on putting more logic in standard Java classes that make me have to touch ant, wait for compile and many times reboot my web server in order to test?
I think it's because PHP programmers want to get stuff done and Java programmers are geeks who want do stuff the "right" way. I'm getting sick of being in the latter camp.
Another reason is that WordPress is quick to set up and provides lots of features out-of-the-box, as noted by Matt Croydon:
It's set up for mutli-author blogging out of the box. It does trackback, pings weblogs.com, and does all of the basic things that I can think of out of the box
Harry Fuecks found some interesting design decisions in WordPress as well:
What interests me about Wordpress is the decisions taken in it's design, such as using using PHP itself as a template language, backed with HTML rendering functions. Classes come into play when dealing with "architectural domain" issues such as XML-RPC and i18n.
Using plain PHP and the Midgard Style Engine for templating has been the approach I've advocated for the Aegir community after we ran into scalability issues with FastTemplates.