Well kyleb, good answer, but not good enough.
You see if when you repeat the process, you go to the point (2) again, then you will use the scale 4 times, and you are supposed to use it 3 times in the maximum.
Here if the solution.
Make the 9 balls into 3 sets, a, b and c.
The balls are also numbered from 1 to 9, (iow set a containst balls 1,2 and 3 ... etc)
->a&b on scale
-->if a=b, then c is odd group, put ball7 and ball8 on the scale.
--->if ball7=ball8 then ball9 is the odd one (used the scale only twice)
--->if ball7[x=]ball8, then leave the heavier on the scale, and put instead of the other one the last of the balls in set c, if the scale is still not in equilibrum, then the heavier ball is the odd one, otherwise the one you took out (between ball7 and ball8) is the heavier. (founded using the scale 3 times)
-->if a[x=]b, either a or b is heavier, suppose a is heavier. Put a and c on the scale.
--->if a=c then b is odd set, and the odd ball is lighter than all other balls (since a is heavier than b), if a[x=]c then a is the odd set, and the odd ball is heavier than all other balls.
---->Put any two balls of the odd set onto the scale, if the scale stays in equilibrum then the third ball is the odd one, if not then you will know which one is the odd one (from the last step you know if the odd ball is heavier or lighter, so if at this step the scale is not in equilibrum, then the heavier ball is the odd one if the odd ball is heavier than the other balls (From the last step), or the lighter ball is the odd one if the odd ball is lighter than the other balls (From the last step too)).
Maybe it is not clear enough, so feel free to ask any questions on it.