WordPress is a good, lightweight CMS well-suited for any article-centric website. If you need a blog, a site with mainly static pages, or a combination, there’s no better software to use.
However, WordPress isn’t necessarily the ideal tool for every job. Sometimes you need to define multiple types of content that don’t follow the post/page hierarchy too well. For example: You run a large website that has articles (posts), but it also needs to have a link directory. It would be the most elegant solution to have a category full of empty posts with custom fields to hold the link titles and URLs.
A situation like that is where people normally would push you towards a “real” CMS like Drupal or Joomla, with their ability to define different types of content (e.g. articles, podcasts, forum posts, a link directory). But why do that when you could just use the Pods plugin.
Pods is a CMS framework that lets you create, manage, and display your own content types. Don’t bother hacking blog posts into becoming something they’re not. With Pods, create entirely new data structures with only the fields you need. Like Drupal CCK, you can set up relationships, allowing for a whole new level of interconnectedness.
Pods is a nifty little tool that unlocks a lot of possibilities. I’m currently trying to set up a new event calendar with it on one site, instead of manually editing a static page on the blog. I defined a new “Pod” called “event_calendar,” set it up to have a top-level “Events” menu in the WordPress admin, and defined a few data fields. Now I can easily add new events, which are stored in their own database table, separate from the main wp_posts table. All I have to do now is finish setting-up the page that will display the list of upcoming events.