That's because Apple provides new API features in new releases of the OS and software developers take advantage of them. It's not that hard to write software that runs on many versions of OS X, but it does limit the features you can take advantage of. I think it's worth not being able to use some apps on my older computers if they provide something worthwhile, so this doesn't seem like a bad thing to me.