Specifies what information is used to decide what nodes (and where on those nodes) are cleaned.
Clean nodes that could be used
The node labels are checked to see which nodes are able to run the build and any workspaces found (aside from those in use) are deleted.

Note: In situations where there have been more than one build of a job running concurrently on a single node (i.e. the node has multiple executors and the project has concurrent builds enabled) then every build except the first will run on a non-default workspace (e.g. .../workspace/ProjectName@2 ). This method will not clean these non-default workspaces.

This method is best used where so little build history is kept (i.e. projects have "Discard old builds" set to a small limit) that Jenkins "has forgotten" some of the places where the build has run.
Clean nodes that have been used
The build history is scanned to see what nodes and workspaces were actually used, and then all that are not currently in use are deleted.

Note: This can be computationally expensive if projects have a huge amount of build history to scan.

This method is best used where enough build history is kept that nodes will have their workspace wiped before that build is forgotten, but not so much history is kept that it becomes a performance problem.
Clean nodes that could be, or have been, used
The union of both of the above.
Note: In all cases, nodes that have the Skip this node when cleaning old build workspaces node property set will be skipped over, as will nodes whose name matches a pattern in the Nodes to ignore field (below).