Keith Zantow Many plugins started out as part of core Jenkins and were later moved into plugins ("detached"). They're automatically added to the classpath of plugins depending on a version of Jenkins when these were still part of core as to not break those plugins.
List of plugins: https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/ClassicPluginStrategy.java#L324
Added to dependencies of plugins depending on old cores: https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/ClassicPluginStrategy.java#L313..L320
They're not listed in the update site JSON as dependencies, as they're implied. It requires Jenkins core internals (i.e. that list in ClassicPluginStrategy) to determine whether they need to be considered implied dependencies.
The plugin manager UI treats them as actual dependencies, and does not allow disabling e.g. Matrix Project Plugin while at least one plugin depending on core 1.560 or earlier is still enabled. The setup dialog should do the same (or we need to find another solution to this).