Drupal 7 will be end-of-life in November 2021, Drupal 9 will be released in 2020, and Drupal 8 will be end-of-life in November 2021.
Drupal 7 will receive Drupal community support for three years after it has reached "end-of-life" in November 2021. Just as Drupal 6 has received many years of community support even after Drupal 8 has been out for a few years, Drupal 7 will be around a while longer. So if you have a Drupal 7 site, you don't need to urgently move to Drupal 8 or 9, but should definitely start thinking about it.
How Does Drupal 9 Compare to Drupal 8?
Drupal 9 will remove old (deprecated) code left over from Drupal 7. A relatively small percentage of Drupal 8 code is inherited from Drupal 7, and is being replaced by fully object-oriented code using the Symfony framework.
Drupal 9 will be an incremental update from Drupal 8. Most modules that work in Drupal 8 will also work in 9.
How Difficult is Upgrading from Drupal 7 to 8 or 9?
The process of upgrading from Drupal 7 to 8 (or 9) can be complex and time-consuming. There are upgrade tools available to help developers with this, and for smaller sites it does not have to be too overwhelming cost-wise, but larger sites may have tens of thousands of content items and multiple themes, and all that has to get migrated. Drupal 7 themes also have to get updated for Drupal 8, or you can use this as an opportunity to implement a new design.
How Difficult is Upgrading from Drupal 8 to 9?
Upgrading from Drupal 8 to 9 will be relatively painless. Just as there have been six minor upgrades from 8.1.0 to 8.6.0, the upgrade to Drupal 9 will be pretty straightforward, with no need for complex migrations or huge code or configuration changes.
If you have a Drupal 7 site, start thinking about upgrading to Drupal 8. Since the upgrade process is involved and means having to update your theme or replace it with a Drupal 8 theme, it would be prudent to bundle this effort with a redesign effort, if possible. In other words, if you have been considering a redesign / rebranding effort, you may want to combine this effort with the Drupal to 7 to 8 upgrade.
If you have a Drupal 7 site, do not undergo a redesign effort without also upgrading to Drupal 8. If you are going to go through the effort and expense of designing a new theme, it may as well be a Drupal 8 theme, if possible. Of course, your site may rely on certain modules that are not yet available in Drupal 8, but it is time to start mapping out an upgrade strategy.
If you have a Drupal 8 site, keep it up to date with the latest security and minor version releases. This will put you in a great position to upgrade to Drupal 9 with relative ease.
Image Credit: https://dri.es/drupal-7-8-and-9