CMS Vs Framework? Is Drupal A CMS, Framework, or CMF (Content Management Framework)?
Drupal is Content Management Framework (for Developers) as well as Content Management System (for Non-Programmers).

Drupal is a highly configurable open source and an application development framework providing the following features:


Drupal provides the structure for Web applications which is far more complex than a CMS such as: 

Extend the functionality (using contributed or custom code). 
Communicate with other Web applications. 
Run applications written in PHP and other languages behind the scenes.
Provide responsive pages or integrate front-end languages.
Scale to handle large traffic numbers by making use of server technologies and provide the foundation for other as yet unthought of innovations.

Drupal is one of the most highly extensible frameworks available, and has the built-in ability to grow with your organization. Drupal was built from the ground up with a uniquely sophisticated granular level control system that provides unparalleled extensibility. With its vast feature-rich capabilities and growing community you’ll never outgrow Drupal.
Pre-made functionality in Drupal can be overridden through hooks, or you can find workarounds that Do Not require modifying other modules.
Drupal maintains a vigilant security community, providing security release updates on an ongoing basis to achieve maximum site security, which is one of the reasons even the U.S. Government and governments around the world use Drupal.
Drupal's modular architecture allows complex solutions to be "assembled" quickly and reliably. Over Fifteen thousand modules are available for Drupal.




CMS (Content Management System) features of Drupal:


Drupal comes with many tools to help you organize, structure, find and re-use your content. Categorize with taxonomy, automatically create friendly path urls, create custom lists, associate content with other content on your site, and create smart defaults for content creators.
Manage content with an easy-to-use web interface. Drupal's flexibility handles countless content types including video, text, blog, podcasts, and polls with robust user management, menu handling, real-time statistics and optional revision control.
Drupal comes with great options for new user accounts and user permissions. Users can be assigned one or more roles, and each role can be set up with fine-grained permissions allowing users view and create only what the administrator permits. The Drupal 7 admin theme makes administering a site easier than ever.
Drupal's focus on social publishing can help you create sites and applications to help your users express their opinions and engage with one another. You can have tight control over who can create, view, administer, publish and otherwise interact with content on your site.
Drupal's presentation layer allows designers to create highly usable, interactive experiences that engage users and increase traffic. Use an existing Drupal theme for your site, giving it an instant identity! If you can't find one you like, try designing your own which others can use, too.