I'm mainly an HTML and CSS guy, and know a healthy amount of PHP.
But I don't know enough to set up a server, databases, write a CMS from scratch (well, maybe I could), and I don't like spending a lot of time in the Terminal. I'm not a programmer.
Even as a designer, I'm able to use WordPress' powerful theming system (which is pretty easy to understand and, in my opinion, not ugly at all) to build out an entire easy-to-use site for a client without having to also hire a developer. The WordPress community is massive and helpful, PHP is well-documented and simple to work with if you know HTML, and you can literally use WordPress to make almost anything on the web. Maybe it would be better theoretically to hire a developer or learn to be one, but I don't like hardcore programming and sometimes just don't need a developer that I have to pay for, wait for, etc.
WordPress, in a way, makes the ability to make simple web apps, dynamic sites, and blogs a more democratic thing; many people can pick enough WP knowledge in a few weeks to do things that would take months or years of programming training.