Query Inversion" will cause data from two related tables to be loaded into the cache. Sometimes, this is good (because you immediately want to use both tables and would prefer to use a single query to do this). Sometimes, this is bad (because you really only want data from one table, and don't want to wast time and cache storage loading the related table). If you suppress query inversion, you will get data from only one table. If you set SuppressQueryInversion to false (the default), you will get data from both tables.
This is what the Reference Help says:
By default, "query inversion" is performed when using a query containing subqueries. The inversion ensures that all dependent objects are fetched into cache along with the queried entities, and often improves performance. You may want to suppress this behavior, however, if you have many or complex subqueries whose inversion might cause a performance hit, or when you know that you do not require that the dependent entities be cached.