Works in two ways. Either creating a centroid layer, using either centroid, point on surface, or pole of inaccessibility.
Runs through each geometry that you want to select from and tests if the centroid or the point of surface central point falls within the selecting geometry. If the central point falls within the selecting polygon, it is usually mostly inside the selecting geometry.
Or selecting based on percentage overlap. By default dissolving the selecting features first.
Useful if you are splitting up a polygon layer based on a polygon coverage layer, as each polygon will only end up in one of the selecting polygon areas. Unlike with an Intersects query which would return the geometry twice if it is on the border one on each side, or a Within query, which would not return the geometry at all. Very useful if your selection and selecting geometries have similar boundaries.
For the difference between Centroid and Point On Surface see:
Centroid Within Selection in QGIS
GitHub Code Base
Issues and bug tracker: