CheckState (and thus CheckStateChanged) allow for using a checkbox that can have three values: it can be checked, unchecked or ‘indeterminate’ – i.e. it has ThreeState set to true.
If you’re not using ThreeState, then CheckedChanged is all you need.