From Revolutions, we learn that the Oracle can see things before they happen. However, this does not mean that she knows that those events will cause. For example, Smith takes over the Oracle, and in so doing, get the power of the Oracle's 'sight'. In the fight scene at the end of the movie, we know that Smith has seen this fight before, as he goes through his dialogue of where he should stand, etc:
Smith/Oracle: Wait... I've seen this. This is it, this is the end. Yes, you were laying right there, just like that, and I... I... I stand here, right here, I'm... I'm supposed to say something. I say... Everything that has a beginning has an end, Neo.
So the gift of the Oracle was to see events before they happened. The question then is this "How can a program in the Matrix see events before they have happened, if the events are based on choice?" Is it that based on the choice, the events are pre-destined one way or another, or is it that once A choice is made, then the Oracle follows this choice and sees the events linked to it?
The more I think about this, the more my brain hurts, because through and through, the Oracle was yet another program. If a program can see events in the future, then where does the power of choice come in? I need to rest
Perhaps it is that the oracle can see a structure similar to a tree of the possible choices and the different effects they have. Then, once a choice is made, the tree is cut off to the point of the new state, and what remains is a subtree, which itself is a tree and represents the new choices that could be made from that particular state.
Therefore, the possibilities are all there from the beginning, but when a choice is made, it helps her focus on the possible outcomes there.
Hence, when Mr. Smith was in the battle, he was acquainted with the situation because he saw it as part of the tree, but he may not have known what the results are because the subtree resulting from that decision was too small yet, and only once he made his decision, it became bigger and clearer.
I am pretty sure the producers didn't think about that deeply, but who knows?
Coming back to the gift of sight, in Reloaded, Neo is able to foresee the future when he dreams about Trinity falling out of the building and being shot at by an agent. No other person in any of the movies has that ability save the Oracle, and Smith when he takes over the Oracle. Here is what the Oracle tells Neo about having the 'sight':
Neo: The machine mainframe?
The Oracle: Yes. Where you must go. Where the path of The One ends. You've seen it, in your dreams, haven't you? The door made of light?
Neo: [nods]
The Oracle: What happens when you go through the door?
Neo: I see Trinity, and something happens, something bad. She starts to fall, and then I wake up.
The Oracle: Do you see her die?
Neo: No.
The Oracle: You have the sight now, Neo. You are looking at the world without time.
Neo: Then why can't I see what happens to her?
The Oracle: We can never see past the choices we don't understand.
The statement that baffles me is "You are looking at the world without time." What does this mean? Does it mean Neo can see the future or that he has already been through all of this and is recalling events that have already happened but different choices were made?
Notice how in the first movie Neo could see all the code? This is the same 'eyes' I think the Oracle had and that is what every other bad guy wanted. When you can see the code behind the human form you can tell who is 'true' and who is not.