PHP automatically scores a few demerit points in most circles, but it's not just any-old PHP. It's PHP that's evolved over the better part of a decade and is full of bad ideas that are now baked into the WordPress system permanently.
Like Drupal it's overgrown with weeds. You need to keep pruning to keep moving, or you'll be a victim of backwards compatibility. Just ask Microsoft about that, or those trying to clean up OpenSSL.
There are other systems that are far worse, but they're not as popular so they're irrelevant. Nobody cares about Movable Type any more, for example.