There are many reasons for using Test Sets. Given below are the most common recommendations for using a test set.
A collection of related test cases can be grouped together as a test set. In this case, depending on how the test cases are grouped, all the individual test cases can be assigned to a single or multiple testers. It is generally recommended that when multiple testers are assigned to various test cases in the test set, no dependency is created between test cases to avoid waiting time.
The project may have multiple groups of users. Like a set of testers for verification and another set of testers for validation (this is quite common in healthcare where OQ, PQ, IQ) are evaluated. Alternatively, a set of non-technical testers may be engaged in user acceptance testing. In these scenarios, not all the test cases may be executed by these newer groups of testers. In such cases, a test can be created for those subset of test cases that need to be included for validating conformance to scope and fitness for use (two essential elements of quality).
The project may be having a set of environments (dev, test, QA, pre-prod, prod) through which the build passes through requiring its own set of minimum set of test cases to be run as well as additional test cases that will have to be checked (e.g.: performance, load, stress, etc.). The test cases will be applicable in these scenarios as well.