drupal/core vs. drupal/core-recommended I've got a question regarding drupal/core and drupal/core-recommended. So drupal/core-recommended uses fixed versions of the packages, which the corresponding core version was tested with. And yes it does make sense that this prevents bugs introduced by version differences of let's say different versions of symfony packages for example.
But on the other hand, let's say you install a dev version of a modul or any other third party library with composer, which explicitly needs a different version of a symfony component than drupal/core-recommended, these locked versions of the core dependencies will cause trouble, as the third party library/the module could not get installed due to version conflicts.
So how would one deal with this kind of situation when using drupal/core-recommended?
It's &quot;core-recommended&quot; as in &quot;recommended to avoid having dependency-related trouble with core.&quot;
Drupal core (and some of the contributed modules, but not all) has a variety of automated tests that are run to make sure that everything is working as expected.  However, Drupal also needs dependencies to run. If you use different versions of the dependencies that were not tested, there might be a bug and the tests might not pass. core-recommended contains the specific dependencies that were used to test a given version of Drupal core.
By using core-recommended, you are guaranteed to get the same dependencies that were used to release that version of Drupal core, and Drupal core is only released when those tests pass.  So, you can be more confident when you are deploying your site because you know that your combination of core + dependencies is verified to work according to the tests.

let's say you install a dev version of a modul or any other third
party library with composer, which explicitly needs a different
version of a symfony component than drupal/core-recommended,

It's relatively rare for a contributed module to need a specific version of a Symfony component.  When you do need to use such a module and you switch from core/recommended to core, you might experience some Symfony-related or other dependency-related bugs because some of the dependencies may require changes in core that have not been made yet.  So when you do this, you are now responsible for running the tests, and if you encounter bugs you may have to search the core issue queue and apply patches, etc.
As for dev modules, it's never recommended to install dev modules on production, so whenever you install a dev module, you are taking responsibility for testing into your own hands.
TLDR: Recommended means &quot;recommended because it passed the tests.&quot;  These are the recommended dependencies because they are known to work, but of course you can try to use others if you like. But, if you don't use the recommended dependencies and then you find a bug and think, &quot;hey, core is broken, let's file an issue!&quot;, you should first check with core-recommended to make sure the issue isn't specific to the contrib module/dependency that required you to remove core-recommended.