I must precede the technical answer with some background: In programming there's a concept called scope (which I can simply define as range of actions for some given data, like a variable). It is common to distinguish between global scopes and local scopes (the difference between a global scope and a local scope can often be a bit ambiguous.
Global Drush installation versus local Drush installation
No matter how one installs Drush, we first need to distinguish installing Drush globally (one Drush app for all Drupal apps in a given webserver environment) from installing Drush locally (one Drush app per each Drupal project in such environment).
The importance of Drush scopes:
Quoting Leymannx from the comments:
Imagine you work at a web agency and have to support multiple different Drupal versions. Drupal 6 + 7 requires Drush max. v8, while Drupal 8 requires Drush min. v9. So, you have a lot of old Drupals on your server with a globally installed Drush 8 or older. Because that's how it used to be. Now there's Drupal 8 that requires Drush min. v9. You can't simply replace the old global Drush. And at the same time you don't want to rebuild all the old Drupals from scratch into a Composer project.
And still, you could install multiple global Drush versions and have their commands named
drush9 for example, like explained here: drupal.stackexchange.com/a/267520/15055
Drush <=8 and Composer
Once there were many tutorials for installing a stand-alone Drush <=8 globally, via Composer (stand-alone means that only Drush is installed on the environment globally - without creating a new Drupal project alongside it), but these tutorials are usually irrelevant nowadays.
If you still want to install Drush 8 globally today, you can simply download a phar file of Drush 8 and that's it (no Composer involved), but it's better to avoid that.
Drush 9 and Composer
Installing Drush 9 is essentially different from installing Drush <=8 in these measures:
It is now a convention not to use Drush globally, rather, locally per each Drupal project.
It is now a convention to install Drush only via Composer, and not just an unconventional choice (neither it is installed from a
A local Drush installed with Composer is not stand-alone, as it comes with a new Drupal project alongside it.
Simply put, Drush 9 is formally Composer-centralized and local-scope centralized (and thus non stand-alone centralized).
A Composer based Drupal project (app) with a local Drush alongside it can be installed by:
composer create-project drupal-composer/drupal-project
Regarding the installation and usage of Drush 9 I strongly recommend reading these Drupal Answers sessions:
- How to update core and all modules and themes from CLI?
- Composer's drupal/drupal versus Composer's drupal/core