When more than 1 filter is defined in the filter set, all the search criteria must be satisfied, before the correct record is loaded (i.e. there is
AND between the filters).
Let's say you have a data structure called Invoice. By loading this data structure without a filter, you would get all the invoices ever entered to the system. So at least you will need a filter, which will load just one invoice, by its Id. So you will create a filter set GetById.
Then your application has an approval workflow for the invoices. So you create another filter set
GetByInvoiceState. This filter set will contain a filter, which will load invoices by their state. This filter can additionally contain a parameter, so when loading the data, you will have to provide an Id of the requested invoice state.