Why are new Apps only compatible with the latest version(s) of Mac OS X & not backward comatible with earlier versions of the Operating System?
The main reason is that the OS changes. This means that there are new functions that are available in the new OS to the developer. If the developer makes use of them then it is not possible or at least much harder to write the code to support the OS.

One example is the Mac App Store to be able to use this you need a newish version of SNow Leopard and it is not possible to provide a way to use in in Leopard.

So a developer has to make a choice, provide some functionality that only works on a new OS or write code much more quickly that only runs (or is tested under the new OS) or invest time (and thus money) in supporting the old OS but make the app available to more users.