Having used CF and PHP extensively (we run CF at work, I moonlight with PHP) I strongely come down in favor of PHP. Like the article says CF is designed for displaying pages and has a cumbersome, fairly primative scripting language that uses non-standard operators.
One thing that drives me nuts about CF is the fact it always throws an error if a variable isn't defined. I appreciate the fact this can be helpful when debugging but having to constanly check to see if a variable is defined before checking it's value is PITA especially when dealing with web forms.
We just completed a very large project at work and ended up having to use Perl to handle complex reporting and large file uploads because CF wasn't up to the task. Generating tagged Pagemaker files and RTF documents was just to cumbersome using CF and the file uploading just doesn't work very well. We publish scientific articles and require authors to upload manuscripts as PostScript files. A long standing bug in CF prevents it from uploading anything over about 5 MB which isn't adequate for our needs.
I've also found it to be slower then PHP for most tasks, more on par with regular old non-mod Perl.
With that said I like the ease at which CF allows you connect to databases and the error checking is great. The addition of user defined functions in 5.0 is also a big step in the right direction (not sure why it took so long)
Dave