The reason this problem is difficult is because we're not just dealing with knowledge, we're dealing with knowledge about knowledge about knowledge, etc. Also, not only is everyone a perfect logician, it's common knowledge that everyone is a perfect logician. Let's look take a close look at what everyone knows to begin with for the different possibilities for three people - all with blue eyes (3B), two with blue eyes and one with green (2B), one with blue eyes and two with green (1B), and three with green eyes (0B).
In 3B each person with blue eyes knows that the two other people have blue eyes. They also know that those two people can see each others eyes, so those two people will know that at least one other person has blue eyes. (These people cannot tell if 3B or 2B is the truth)
In 2B, the person with green eyes knows that the two other people have blue eyes. They also know that those two people can see each others eyes, so those two people will know that at least one other person has blue eyes. (This person cannot tell if 2B or 3B is the truth)
In 2B, the people with blue eyes know that one other person has blue eyes. They also know that those two people can see each others eyes, so one of those two people will know that at least one other person has blue eyes, but the other might not. (These people cannot tell if 2B or 1B is the truth)
In 1B, the people with green eyes know that one other person has blue eyes. They also know that those two people can see each others eyes, so one of those two people will know that at least one other person has blue eyes, but the other might not. (These people cannot tell if 1B or 2B is the truth)
In 1B, the person with blue eyes knows that the two other people have green eyes. They also know that those two people can see each others eyes so neither one can see blue eyes that the person with blue eyes is aware of. (This person cannot tell if 1B or 0B is the truth)
In 0B, each person with green eyes knows that the two other people have green eyes. They also know that those two people can see each others eyes so neither one can see blue eyes that the first person is aware of. (These people cannot tell if 0B or 1B is the truth).
I tried to write these scenarios is a way that make the symmetry as obvious as possible - it's impossible for each person to tell if they are in the scenario where they have green eyes or blue. The only way that they can determine what color of eye they have is if someone else's behavior will be different based on what their eye color is. Now let's start adding information and see how it starts changing things:
The Oracle announces that someone has blue eyes.
Right away, the Oracle's behavior is different due to someone's eye color. If we were in 0B, then nobody would have blue eyes and the Oracle would not have announced being able to see someone with blue eyes.
If 1B were the case, then we know that there is one person who was unable to distinguish between 0B and 1B. Because the Oracle's behavior has eliminated 0B as a possibility, the one person with blue eyes knows immediately that they have blue eyes, so they will leave that night.
Nobody leaves the first night
If 1B had been the case, then someone would have left that first night. So now everyone knows that 1B is not a possibility. If 2B is the true situation, then two people will know that they have blue eyes, and will leave that night.
Nobody leaves the second night
If 2B had been the case, then two people would have left the second night. So now everyone knows that 2B is not a possibility. If 3B is the true situation, then three people will know that they have blue eyes, and will leave that night.
So why is this confusing?
The part that throws people off is "why does nothing happen for so long until everyone suddenly leaves?" It might help to run through a scenario where you pretend to be one of the people on the island. Remember, the only thing we have to go on is other peoples' behavior.
Consider this scenario - I just flipped a coin (yes, I actually grabbed a physical coin and flipped it) to decide if (heads) you have blue eyes or (tails) you have green eyes.
You see two people with blue eyes, so you know that you're either in 3B or 2B. You also know that if you're in 3B, the other two know they're in 3B or 2B. If you're in 2B, the other two only see one person with blue eyes and so know they're in 2B or 1B. You do not know which pair of scenarios the other two know themselves to possibly be in.
Take that a step further - if they're in 3B or 2B, their logic will match yours and they'll believe each person to possibly be in 3B, 2B, or 1B. If they're in 2B or 1B, though, they'll believe the others to be in 2B, 1B, or 0B.
This is where the Oracle's announcement comes into play. You don't know what the others believe, and you don't know if you have blue eyes or green eyes, but because the Oracle has seen someone with blue eyes you now know for a certainty that nobody believes 0B to be the case, or believes that someone else believes it to be the case (or in the case of more people, believes that someone else believes that someone else believes that...).
From here on out, the possibilities start to collapse. You still know you're in 3B or 2B. If you're in 3B, the other two also know they're in 3B or 2B. If you're in 2B, then the others believe they're in either 2B or 1B. However, if the other two believe they might be in 1B, they would also believe that the other of them could have believed they were in 1B or 0B and now know that they are in 1B and they are the one person with blue eyes.
The first night you're not surprised when nobody goes home - after all, you know that both the other two people have blue eyes, so each can see someone else with blue eyes. However, you don't know if the other two were surprised by that. Let's consider again the possibilities:
You're in 3B or 2B. If you're in 3B, the other two also know they're in 3B or 2B. If you're in 2B, the other two believe they're in 2B or 1B. That would mean that they were surprised when nobody went home last night and they now know that they're in 2B. So now they either know they're in 2B, or know they're either in 2B or 3B.
Now the second night comes and...
The other two go home. You're surprised because you did not have the same information that they did - your eyes are not blue. If you had been in 3B, they would have also thought they were in 3B or 2B and, not knowing, they would not have left. But because you were in 2B, they had known that they were in 2B or 1B. So when the Oracle made the announcement and they each realized that they could not be in 0B, they knew that the other one might know for sure. After the first night when nobody left, they knew for sure that both of them had blue eyes.
I did in fact flip a coin, but then disregarded the heads I'd flipped because I realized that everyone else has been considering scenarios in which everyone's eyes are blue. I hope that this did in fact surprise you that it turned out to be a different scenario. Also, I'm intentionally being verbose here just to hide the fact that it ends on the second night instead of the third. If it had gone another night I would have ended up explaining the current situation in a little more depth and explained how you now knew that you also had blue eyes. Hence my attempt to make the spoiler blocks as big as they would have been.
Another way to look at it
Consider the scenario in which some number of people have blue eyes, some number have green eyes, and you don't know which group you belong to. Because you know everyone here is a perfect logician, you know that the people with green eyes will never come to the conclusion that they have blue eyes. So in a sense, they don't matter. So you have a group of people with blue eyes, and have two scenarios to consider - one in which you also have blue eyes and you belong to the group, and one in which you don't have blue eyes. In the latter scenario you don't actually matter - you'll never come to the false conclusion that you have blue eyes, and so it's just the people who do have blue eyes who matter for the problem.
As to why the nested hypotheticals need to be considered, they're another way of representing what I was talking about with possibilities. Up until the Oracle made the announcement, you already knew that someone had blue eyes, and already knew that everyone else knew that someone had blue eyes, but now you know that everyone knows that everyone knows at least one person has blue eyes.