The explanations of oxidation states in most HSC texts is pretty ordinary, to put it politely. Fido, you are in plenty of company in having trouble with this concept, as the way it is dealt with by the HSC is not good.
First, some general comments:
Oxidation states are a convenient model, created by chemists, to use as a tool in recognising and understanding redox processes. They are NOT a description of reality, as they are based on a ridiculous assumption, but they remain a useful tool if used carefully.
The assumption behind oxidation states is: ASSUME THAT ALL BONDING IS IONIC, and that there is no such thing as a covalent bond. (I told you it was an unreasonable assumption). The oxidation state of an atom in any species / compound is then the charge that it carries under this assumption. So, we would treat:
NaCl as containing Na<sup>+</sup> and Cl<sup>-</sup>, and thus in NaCl, OS(Na) = +I and OS(Cl) = -I
H<sub>2</sub>O as containing 2 H<sup>+</sup> and O<sup>2-</sup>, and thus in H<sub>2</sub>O, OS(H) = +I and OS(O) = -II.
SO<sub>4</sub><sup>2-</sup> as containing S<sup>6+</sup> and 4 O<sup>2-</sup>, and thus in SO<sub>4</sub><sup>2-</sup>, OS(S) = +VI and OS(O) = -II
This last one is obviously unreasonable - the notion of sulfur existing as a S<sup>6+</sup> ion is absurd - but this is still a useful tool if used with care.
We then need a systematic set of rules to determine OS's. This set of rules must be applied strictly in order, or problems will arise:
1. The oxidation state of an element in its elemental form is 0.
2. The oxidation state of a monatomic ion is equal to its net charge. Furthermore, elements in groups 1 and 2, as well as aluminium and fluorine, will retain these oxidation states in all compounds.
3. The weighted sum of the oxidation states in a species is equal to its net charge.
4. Unless prevented by the application of prior rules, the oxidation state of hydrogen is +I in all compounds. Prior rules can only force the alternate oxidation states of 0 or -I.
5. Unless prevented by the application of prior rules, the oxidation state of oxygen is -II in all compounds.
6. If it is necessary to assign further oxidation states, this should be done by assigning to the most electronegative element the oxidation state of its common ion.
So, take a compound like Na<sub>2</sub>Cr<sub>2</sub>O<sub>7</sub>. Rule 1 doesn't apply, and rule 2 tells us that OS(Na) = +I. Applying rule 3, we get an equation:
2 * OS(Na) + 2 * OS(Cr) + 7 * OS(O) = 0, but we already know OS(Na), and so:
2 * OS(Cr) + 7 * OS(O) = -2
Rule 4 doesn't apply, so we take OS(O) = -II by rule 5. Thus, we get:
2 * OS(Cr) + 7(-2) = -2
OS(Cr) = 6
So, in Na<sub>2</sub>Cr<sub>2</sub>O<sub>7</sub>, OS(Na) = +I, OS(Cr) = +VI and OS(O) = -II.
Try the following yourselves, to see if you get the right answers:
LiAlH<sub>4</sub> has OS(Li) = +I, OS(Al) = +III and OS(H) = -I
MnO<sub>4</sub><sup>2-</sup> has OS(Mn) = +VII and OS(O) = -II
H<sub>2</sub>O<sub>2</sub> has OS(H) = +I and OS(O) = -I
OF<sub>2</sub> has OS(O) = +II and OS(F) = -I
CHCl<sub>3</sub> has OS(C) = +II, OS(H) = +I and OS(Cl) = -I
S<sub>2</sub>O<sub>3</sub><sup>2-</sup> has OS(S) = +II and OS(O) = -II
NH<sub>4</sub><sup>+</sup> has OS(N) = -III and OS(H) = +I
ClO<sub>4</sub><sup>-</sup> has OS(Cl) = +VII and OS(O) = -II
HCO<sub>3</sub><sup>-</sup> has OS(H) = +I, OS(C) = +IV and OS(O) = -II
Bear in mind that, since this is simply a model, it can give some very strange answers. For example, magnetite, Fe<sub>3</sub>O<sub>4</sub> has OS(Fe) = +2.6666... and OS(O) = -II. In practice, this means that there are two iron(III)'s and one
iron(II) in the compound.