Drupal has a long long history of "alter"-ism, so basically every info hook has an alter hook as well.
These allowed some advanced use cases if you worked with plugins, like define additional settings depending whether a module exists or not or disable/hide a plugin.
The need for an alter hook came up on porting the views plugins to the PluginApi: #1674356: Make a battleplan for the plugins
The idea is to create a decorator which wraps any kind of plugin discovery mechanism and calling a alter hook like hook_plugins_$type_alter.
The class AlterDiscoveryDecorator would take any Discovery as an argument so at the end you will have for example CacheDecorator->AlterDecorator->AnnotatedDiscovery.
Write the Decorator