In a standard technical interview process, you're do between one and three phone interviews and then come in for a full day of four to five technical interviews. Then, the company makes its decision and you're on your way (or not). Sometimes though, the company calls you back with some slightly frustrating news: they want you to do another interview, usually on the phone.
What does it mean when a company wants you to come in for more interviews? There are a number of possibilities.
Because you bombed one interview.
Many candidates will immediately jump to this conclusion, analyzing that one question they think they struggled with and concluding that that is why.
It could be -- you can't rule out the possibility.
However, remember that it's extremely difficult to understand after an interview how well you did on that interview. While you might have bombed one interview, it might not be the one you're thinking of. It could just as well be the one you think you aced.
That said, it's not particularly common for companies to bring you back because you bombed one interview but aced the other four. That would be enough reason for them to just overlook the one that you bombed. It's more likely that you struggled on two interviews.
Because they didn't probe one area well enough.
The company might feel that they didn't ask sufficient questions on some topic: system design, object-oriented design, coding, etc.
This is unfortunate because it's not at all your fault. However, that's still not enough reason for a company to take a gamble and just assume you're good enough. A company will often have you do another interview to get this information.
Because group dynamics suck.
Yep, this is a fairly common situation.
Imagine this scenario: the hiring committee is reviewing your interview and there's a debate over whether or not to hire you. Each side can find data to support their conclusion. Fight, fight fight!
Then, someone says, "Why not have her do another interview?" Just like that, everyone is satisfied -- or at least not too unsatisfied. Those who think you're good think you'll do well on this interview (and if not, then maybe it's good that you aren't hired). Those who think you're bad think you'll struggle on this interview.
And so, the decision is made: more interviews!
This isn't a problem with interview decisions; it's a problem with decisions by groups in general. Sometimes the path of least resistance is just to punt on the decision.
As a candidate, you want to believe that there's a single uniform reason that explains why stuff happens: why your recruiter didn't get back to you as early as she did your friend, why your lunch interviewer asked you a bunch of technical questions when your buddy wasn't asked any, why your interviewer refused to tell you how you did, why you had three phone screens but your classmates had only two.
The truth is that interviews are just a bunch of people making decisions the best they can. There is some uniformity across a company, but there's also a lot of randomness. Two people might act differently in equivalent situations; in fact, the same person might act differently in two equivalent situations. You can analyze why stuff happened a particular way, but don't overlook the degree of random variation.
If you really want to know what's going on, the best thing to do is to ask your recruiter.