WordPress is a free and open source blogging tool and a content management system (CMS)  that can be installed on your web hosting server. I am of the opinion that WordPress is not a true CMS but is often used as a CMS, but who cares right? WordPress is currently the most popular blogging system in use on the Web, and was first released on May 27, 2003, by founders Matt Mullenweg and Mike Little.
There are three basic building blocks of a WordPress site:
Themes
Themes, are primarily in charge of looks. Sometimes features too. An example of  a theme feature may be an image slider, or social media icons. Really these features are Plugins and Widgets that are pre-integrated into the theme. WordPress users may install and switch between themes. Themes allow users to change the look and functionality of a WordPress website or installation without altering the information content or structure of the site. Themes may be installed using the WordPress “Appearance” administration tool or theme folders may be uploaded. Thousands of WordPress themes exist, some free, and some premium (paid for) templates.  Themes can be created by a professional Web Designer. Themes have varying degrees of controls for the admin. Some allow you to change basic color schemes, and header images, others allow you to change fonts and, background images, and more. The GOOD NEWS is that these controls are all in place for non-professionals so they can have help to create a decent looking website without a huge learning curve. The BAD NEWS is that thousands of unqualified people have now declared themselves “WEB DESIGNERS”. Just as bad, these folks pay $15-$40 for a pre-made theme, and install that on someones WordPress site. Then they charge $299 or $899 or whatever they can get. None of this is the fault of WordPress. Just proves that there are always people who will try to get something for nothing.
Plugins
Want WordPress to do something it isn’t? How about a contact us form, or a cool image slider? Even a shopping cart so you can sell stuff! Plugins are the ticket. WordPress’ rich plugin architecture which allows users and developers to extend its abilities beyond the core installation. WordPress has a database of over 24,000 plugins, each of which offer custom functions and features enabling users to tailor their site to their specific needs. These customization can enhance content, display features, such as the addition of forms, widgets and navigation bars.
Widgets
Originally a generic term, these widgets can make life easy by making little modules of content you can plop in to your website just about anywhere. Widgets are small modules that offer users drag-and-drop sidebar content placement through the implementation of plugins’ extended abilities. Some of these Widgets offer customization options such as web forms to fill out, includes or excludes of data and information such as Categories, Archives and Recent Posts, optional images though slideshows and/or carousels, amongst other customization features.These small modules are typically displayed within the header (header.php), footer (footer.php) and sidebars (sidebar.php files) of websites, but can also be placed outside of said locations enabling even further customization.
Thats it! WordPress it is then right? Not necessarily. WordPress does not do everything well. Some pitfalls are especially prevalent in the user management and registration areas. If your goal is to have a site that registers users or members. Especially if it will need to manage user access to content, this is where WordPress falls apart as a CMS. Yes, there are plugins to hide the WordPress branding stuff and ones that do manage user access to a degree. but you are left with a big hodgepodge of plugins that may or may not be stable going forward.
The other limitation is on eCommerce shopping carts. WordPress plugins address very well the need to sell some stuff, but a true ecommerce solution has yet to be seen.
When I am developing a site with any of the needs that WordPress does not address well, I know I can turn to a true CMS. Like what? JOOMLA is my go to. For some its DRUPAL, there are others too but you can Google that right?