When I try to install some Android games, the Google Play site says they are not compatible with my phone, without stating the specific reasons. How can I find out what about my phone is incompatible?
It may be for 2 reasons :
If your Software is outdated, then a pop-up will tell you that you are running too old an version for the app when you click 'Download'. Now, you may or may not be able to download a newer version of android.
Otherwise, it must be Hardware Incompatibility, and you can't do anything about it (short of buying a new phone).
I'm an android developer for work and all I can tell you is that we have to deal with very different devices running the same android version. Dealing with a cheap device, with poor graphic support, not enough memory and low res, to publish a 3D game (example) is very annoying.
We have to deal with so many things already, that we set a base limit. If our game is designed to be at least 800x600, any device with less than that resolution won't be able to play the game. It's just easier than trying the impossible.
Try this example: why should a game that uses gps be installed on a device without gps? You may say this is an extreme example, but for us developers the same applies to lower-level limits (coding/design related)
See this link to understand how we limit things and what you can do to filter apps in the playstore