There's rarely a right answer to this fight. It's a question that has raged on since software was sold "off the shelf". Many pros are also cons.
Pro 3rd-party:
- They cover a vast number of features
- They (hopefully) look after security
- Open source means other people can fix your platform.
- You get improvements without having to work on your own platform
- They have existed a lot longer than your newly conceived project. A lot bugs have been driven out.
Anti 3rd-party:
- They don't have all the answers for every project
- By extension, it may take you longer to hack in what you need than it would take to just start afresh
- Unless you're using it exactly as intended, performance isn't going to be as good as it could be with a custom-built
- Larger target for hackers and script kiddies
- As they're older, they can be locked (via legacy support) into some bad habits (Drupal and Wordpress certainly have enough)
So if you're doing a blog, unless there are features or platform issues, I'd seriously consider WordPress. If you only needed a very simple blog attached to a much larger system that was completely non-blog, I'd probably write my own as part of that system.
Just to blur the lines, the modern frameworks (Cake, Symphony, Django, Ruby, etc) handle lots of the security, database, usability and let you develop the application without having to worry too much about anything. You get exactly what you want and you get it fast but it probably won't be as polished (eg for blogging) as WordPress.