I have read quite some tutorials which show how WordPress can be built using certain frameworks in a couple of days or in a matter of seconds. They are quite good, and I personally believe that it helps to write a blogging engine if you want to learn Web programming. Unfortunately these tutorials also lead some to believe that this is all there is to WordPress and ignore its capabilities which are the differentiators, and in my opinion, makes it suitable for much more than just blogs. Of course WordPress is about publishing on the Web, but it offers some capabilities that makes it extremely usable and flexible.
Plugins and Extensibility
It is quite possible to write a tool that publishes on the Web. However, WordPress richness comes more from its extensive and active plugin repository. All this is possible because of a plugin API allows plugins to extend, and even modify, a lot of the WordPress capabilities via hooks. I have not seen the idea of pluggable functions being implemented in many tools, and this makes WordPress so easy to extend and customize for your purpose.
This is not a matter of coding, it is about designing the plugin system to allow others to modify, without touching the core WordPress code, and making it easy.
WordPress sports a usable Rewrite API. A lot of frameworks and applications today provide user friendly URLs, but WordPress makes them configurable. This is the reason why you can choose the structure of your URL and it just starts working. Rewrite API not only enables this, but also allows plugin authors to define their own rewrite rules.
WordPress’ template heirarchy makes the template system as flexible as you want. You can write a theme using just one template and it gets applied everywhere or you can have a different template for categories, authors, posts, pages or even for individual posts and categories. This means that now you can make two category pages or two posts appear completely differently, all through your theme.
I personally do not use the Widgets a lot, but I know some people who consider them absolutely necessary. What do widgets do for you? They let you work on parts of the theme you use without touching the code. The theme editing now offers a drag and drop interface to add or delete widgets to certain areas of the theme.
Feeds are a critical part of your blog if you want to make it easier for others to follow you. Content syndication is as important as publishing. But what if I want to syndicate only certain posts? Or what if I want to offer category based feeds? Or comments? WordPress lets you do them all, and much more. Any content that you can see on the browser can be syndicated by the WordPress’s feed mechanism.
The underlying aspects of all these features are usability and extensibility. While the publishing functionality can be easily and quickly built today, it is not that easy to clone these aspects of WordPress.