We saw that configuration exists in the database but actually belongs in neatly-organized and well-described YAML files. In order for the configuration from the YAML files to be used, they need to be imported--either via synchronization or upon module installation for those provided by modules. So, this means that the database still holds the active configuration.
To make things more dynamic, the configuration API also provides an override system by which we can, at various levels, override on the fly the active configuration. In Drupal 7, that was done via the global $conf variable, but that was also a way to unfortunately leak the overrides into the actual configuration pool. This is no longer the case in Drupal 8 and we also have three different layers at which we can override configuration.
The configuration API then takes into account these overrides in a way that prevents leaking them by accident into the active configuration. We will see examples when we talk about how to interact with the configuration API in general.