There is a hierarchy of selectable items, let's say a parent and two children. All three items have checkboxes. When both children are checked, the parent's checkbox is also checked. When both children are unchecked, the parent's checkbox is also clear. When only one of the children is checked, the parent is half-checked (color fill or a diagonal inside the checkbox).
This relationship works both ways - the parent's checkbox works as a select/clear all for the children checkboxes.
What should happen when users click the half-checked parent - check or uncheck? Or rather, what factors might influence this decision?