I don't know how aware you are about programming and what is needed to have a particular piece of software running on macOS.
Every application uses windows, menus, etc. They do not reinvent that functionality.
Apple furnishes an SDK (software development kit) that has code necessary to all applications. These applications use that functionality via API (application programming interfaces - that is, an application may opening a window by calling a function in the SDK which might be called NewWindow, and have specific parameters that have to be given by the application)
Each year with a new macOS there is a new SDK, that can be subtly and sometimes radically different from the previous one.
And each year new API are created to access new functionality, some API are changed, some are deprecated (which is a way of telling developers that they may be later removed), and some are removed.
If an application uses an API that is no longer available, that application will not run.
This is why an application built today, which uses, for example ARKit (an API for augmented reality) will never work in Yosemite, for example. Conversely, an application that was built using Carbon (a very old API that only supported 32-bit code) will never work in Catalina.
When you install some applications, they may install system modifications, called kernel extensions. They change the system in subtle ways, and they too are created using the API available AT THE TIME, and the SDK existing AT THE TIME.
As systems evolve, applications that used to run smoothly may have glitches, crash or altogether fail to start.
Do you see updates for an application, with the release notes saying: "updated for Catalina"?
Or a note on a developer site saying "version 2.1 works in Catalina, and no longer works in Yosemite"
Did you see that developers sometimes leave older versions available, just so users with older OS can use them?
So the thing is, that kernel extension that worked in 10.7 may still work in 10.14 but crash your mac in 10.15.
And you'd never realize it's there. You just update from Mojave to Catalina and come here asking why "Apple has crippled my mac and it would never happen if SJ was still alive"