Drupal creator and Acquia founder Dries Buyteart said, “The big thing about Drupal 9 is… that it shouldn’t be a big thing.” Drupal has come a long way since its first release in 2001. There have been changes to the architecture along the way, with the biggest and most relevant changes introduced in the move from Drupal 7 to Drupal 8. Drupal 8 was an almost completely new CMS with huge changes to all previous versions: Implementation of Symfony as the base framework and TWIG as the template engine, just to name a few changes that made the CMS enormously easier and flexible to use.
While Drupal 7 could only be further developed by explicit Drupal developers, from version 8 only general PHP knowledge is required. Drupal 9 goes one step further here. So-called Drupalisms, i.e. functionalities and programming paradigms that only exist in Drupal in this form, are removed, even if Drupal 8 still had them on board, in order to give developers a “grace period” and a period to get used to them. Deprecated portions of Drupal 8 code have been marked as such, and developers know about functionalities they should no longer use, as well as alternatives that are available in Drupal 8 and now 9. These “deprecated codes” have been removed in Drupal 9. This means that functionality originally designed for Drupal 8 will run seamlessly in Drupal 9 if care has been taken in each previous update to redesign exactly those parts of your code that have been marked as deprecated.
So, updating from Drupal 8 to Drupal 9 is much easier than updating from Drupal 7 to its following version at the time. To be precise, it has never been easier to upgrade to a next major version.
Drupal 9 is not as big a change as any other new major version before it. On the contrary, it’s a cleaned up Drupal 8 that has everything on board that made Drupal 8 great, topped off with the functionality that came with the minor releases, for example 8.5 (Media API: Upload media and make it reusable, Content Moderation: Define complex content workflows like drafting, archiving and publishing), 8.7 (Layout Builder: Custom page layouts created with a convenient user interface, JSON:API) and 8.8 (Media Library).