Different SceneManagers will implement these queries in different ways to exploit their particular scene organization, and thus will provide their own concrete subclasses. In fact, these subclasses will be derived from subclasses of this class rather than directly because there will be region-type classes in between.
These queries could have just been implemented as methods on the SceneManager, however, they are wrapped up as objects to allow 'compilation' of queries if deemed appropriate by the implementation; i.e. each concrete subclass may precalculate information (such as fixed scene partitions involved in the query) to speed up the repeated use of the query.
You should never try to create a SceneQuery object yourself, they should be created using the SceneManager interfaces for the type of query required, e.g. SceneManager.CreateRaySceneQuery.