If you are a programmer, I think you'll find it horrible, because it is a very old PHP code base. I'm not a programmer, and I found it horrible when I tried to create a custom theme. Because of various historical afflictions of PHP and PHP programmers, figuring out how what code a function/method is calling is a chore (yes, people can write bad code in any language, but some languages make it easier to write bad code and/or harder to write good code than others). Fortunately, some people have compiled indexes of all the functions available in a typical Wordpress execution context and the file(s) responsible.
From a sysadmin point of view, its not too bad, other than the fact that the ease of updating to install security patches works against the sort of security you probably want to have in place. But, that's basically the tradeoff with LAMP. Securing it can be fussy, but deployment is easy, and hosting is cheap and plentiful. My compromise is to use a shell session to make the wordpress files writable by the webserver user just long enough to do updates, install plugins, etc, using the web interface, then chown it back.
Using the built-in updater makes for easy updates to the core code and many plug-ins and themes. Given that their are security fixes every month or two, its a good idea to get up to date and keep up to date.
As an end user, if you aren't fussing with hosting, or custom themes, its pretty easy to use. The potential downside is that some functionality you may never use gets in the way of figuring out stuff you do use. Also that previous customizations may be a bit baroque.