Drupal is a flexible CMS. You can create almost anything that you imagine using available modules. Drupal also has good user management module to assign user permissions and manage the plugins. Almost every extension is free to use. Developer in Drupal requires programming knowledge but can create a great website with highly sophisticated framework.