The downside is that there is the temptation to do impulsive coding. Traditional php development is similar to JSP and ASP, where HTML is marked up with special PHP tags and embedded PHP scripts. The most direct method is to interlace all the presentation with the logic, making things hard to read for both the artist and the developer. However, it's much more efficient to use a templating engine like Smarty. Configuring the web server in a way where all html files are handled by a PHP script, exposing the outside world to only (dynamically generated) HTML files.
PHP + Smarty still wasn't enough. In order to see some real productivity, I've had to create a foundation, similar to Java Struts. I've had to create features that helps with the processing and validation of forms, handle SQL more efficiently. I've also created a hierarchical document processing technique, that this web site is built on.