The problem with OSS is that you have to contend with some sort of a community. With WordPress you will open up the source code, throw up in your mouth a little, get the urge to patch things up and realize that your changes will never make it upstream. WordPress works. That's why it's so popular. It's easy to install, much easier to use than a lot of web publishing platforms out there and there are lots of "useful" plugins. Most of all, it's got the ubiquitous support: LAMP is the de facto standard for cheap hosting out there.
However, it does some things that keep me up at night. It stores serialized PHP arrays to define what users have access to (the MU branch). It strips away magic quotes based on runtime configuration, only to add them right back using a PHP loop. It does not use any form of output buffering. It's themes are PHP files that often times contain core business logic (somewhat of a PHP problem really, but still). WordPress is bad code and there is nothing anybody can do about it.
This of course is not true of all OSS projects: far from it. Just so happens that when a small community controls core development and the initial codebase is not great, which is the case with many early PHP projects, the outcome is that the code will stay bad.