I recently came across this change record for D8: https://www.drupal.org/node/2952947

What this has done in short is that it has allowed installation profiles to specify install dependencies in addition to the preexisting dependencies. D8 uses .yml files, but here's how that could look in .info files:

name = Standard
description = Install with commonly used features pre-configured.
backdrop = 1.x
install[] = admin_bar
install[] = ckeditor
install[] = comment
install[] = dblog
install[] = views_ui
install[] = update
dependencies[] = node
dependencies[] = block
dependencies[] = color
dependencies[] = config
dependencies[] = contextual

The dependencies array would be treated as a set of "hard" dependencies, meaning that they cannot be uninstalled, because the profile depends on them. If the profile simply wants to specify a list of modules to install, but upon which it does not actually depend, it can use the install array.

To maintain backwards compatibility, profiles which only define a dependencies array, but not an install array, would have their list of dependencies treated like an install list. This backwards compatibility layer could be removed in Backdrop 2.0, which should allow enough time for profile authors to separate their install list from their actual dependencies.

GitHub Issue #: