Without going too deep into the technicalities: Drupal is a content management system that aims to allow different modules and data within your website to be able to communicate with each other. It is considered to be more powerful in this respect than that likes of Wordpress as it breaks away from the idea of modules being isolated silo's of information and function.
If you have a large complex project with a range of diverse requirements then we will normally consider Drupal as one of the options.
Though drupal is a very powerful and established CMS we have found that it can fall down when it comes to its usability. Things aren't always positioned in intuitive places and sometimes simple editing tasks can require a bit of digging around to decipher what is going on. As a result of this there is often a higher training need when compared to the likes of Wordpress or Modx for example.
It is also a double edged sword. For larger projects using a range of pre-existing modules can save significant amounts of development time, however for smaller jobs Drupal takes longer to configure and theme compared to other popular CMS's.