My solution was: Weigh 1-6 vs. 7-12, split the heavier set and weigh the halves against each other, take heavier half and weigh two of the balls. Either one of the two last balls weighed will be it, or they will balance and the odd one is it.
But again, that presumes we know the difference in the one we're trying to find is that it's heavier. Same process can be used if we know it is lighter (selecting the lighter sets to be weighed instead). But if we don't know which it is, it can't be guaranteed to work.