Mishna Pesachim 116a:
But even if you drop the dipping of Matza on its own, there remains another issue: The Rambam says that the Korech has to be dipped into Charoses as well. This makes perfect sense, because the Korech contains Maror. Hillel, when he made his Korech, had to have dipped it into Charoses, so if we're making a Korech in memory of what he did, it makes sense that we do so as well.
But, as the Tur brings from the Avi Ha'Ezri, that leaves us wondering why we do three tibulim, when the Mishna says two.
The Pri Chadash (OC 475, DH ומ"ש עוד) says he's not bothered by the additional tibbul of the Korech, because the dipping of the Korech is only as an alternative to the dipping of the Matza and the Maror individually. We do both, to honor the two opinions, but in theory, they are mutually exclusive. But he is still bothered by the Rambam's idea that the Matza should be dipped into Charoses, so that's three tibullim- Karpas, Maror, and Matza.
Today, (Vayakhel-Pekudei 5673), the Chaver Mike Nussbaum proposed another answer. The phrase "Matbilin shtei p'amim" might refer to the thing we're dipping in. There are two dips, saltwater and charoses. I have to think about the word "p'amim" though. If it said יש לנו שתי טיבולים. or מטבילין שתים, I would agree, but to read this into פעמים is difficult. Furthermore, while the Rambam in Pirush Hamishnayos says that the first tibbul is in saltwater, in the Yad he says that there is no tibbul in saltwater: that all the tibullim are in Charoses. So CMN's teretz will not stand.
I recently heard a very nice answer to this question. The Leket Yosher (page 85), a talmid of the Trumas Hadeshen, says that he saw his rebbi dip two zeisim of maror at once, in the beginning of the meal. He would then eat one, and save the second one to put into the Korech.
וראיתי שנוטל שני דתים מרור בטיבול ראשון, ויטבול בחרוסת, ונתן לכל בגי הסעודה עוד שני זיתים, ואח־כ עשה הכרכה [על אכילת מרור], ואוכלים זית אחד, והזית שני מניחים עד לכריכה, וכרכו למצה השלישית והוא אכל בהסבה, כן כתב בסדרו
He does not suggest any explanation for what he saw the Trumas Hadeshen do, he just reports what he saw.
But the Mateh Moshe (648), in discussing the problem with the number of tibullim, says that he has a solution: that you should do both zeisim of Maror at once, and use them separately, and so there would be only two tibullim; one of Karpas in saltwater, and one of the two zeisim of maror. It's interesting that he suggests it as a solution to the tibbul issue, without knowing that by doing so he explained the behavior of the Trumas Hadeshen.
Please see the comments:
I don't have time to write any more today, but it's very kedai to see the ideas brought there, such as that the word Tibbul does not necessarily mean dip; many rishonim say it means 'beginning a meal.' As such, the question is not why do we dip once, or twice, or three times. The question is why do we dip the karpas before we're ready to really begin the meal: why do we act as if we're beginning a meal when we don't actually eat anything at that point.