If you want to build complex websites, Drupal is the way to go. While traditional Content Management Systems (CMS) focus on content management and delivering pages, Drupal is a Content Management Framework (CMF), offering you an environment in which you can create and tightly integrate your own content and functionality.
At this moment, there are thousands of contributed modules available, extending Drupal's core functions. Furthermore, these modules can be deployed without programming (PHP); it is all done in the web-based graphical user interface.
The book Using Drupal is a great way to get started. It starts with the basic concepts of Drupal. Then it quickly takes of presenting small cases and the modules to implement these. The last chapter introduces Themes, showing how to change and build on existing Themes.
Do not make the mistake to skip the basics and start directly with the cases. Drupal is said to come with a steep learning curve. However, we do not think that is true. Drupal is not a tool you can use to solve an immediate problem. It is a framework, providing a basis to create portals. You can not expect to build a complex website if you do not have the foundations.