This actually is documented.
From MSDN:
nState
New values for the state bits.
nMask
Mask specifying which state bits to change.
You need a mask to be able to "drop" a particular state, like in:
Code:
m_List.SetItemState(item, 0, LVIS_SELECTED);