Keeping up with major Drupal Core releases takes real effort. Each release deprecates APIs and introduces new coding patterns, forcing module developers to update their code.
That is how most software evolves: old patterns are gradually replaced by better ones.
Tools like