Are there proofs that you feel you did not "understand" for a long time? Perhaps the "proofs" of ABC conjecture or newly released weak version of twin prime conjecture or alike readily come to your mind. These are not the proofs I am looking for. Indeed my question was inspired by some other posts seeking for a hint to understand a certain more or less well-establised proof, or some answers to those posts. I am interested in proofs at undergraduate levels. Since the question as asked in the title would be too personal, I suggest a longer and hopefully more positive version: 
Is there any proof that you feel you didn't understand fully until years later? 
The reason that I am interested in this question is that we are currently working on an assessment framework for assessing students' understanding of proof. Reading some previous posts on MO, It occurred to me that perhaps we are too naive in our approach just seeking for understanding logical structure, the key point and so on. It would be very informative if you kindly include in your answer the follow-up of the proof you mention.
 A: I remember not understanding the proof of the fundamental theorem of calculus. My teacher, who was otherwise very good, didn't cover the proof; she told us we could look at it ourselves if we were curious. (This was a high school class.) I did take a look, but I couldn't make heads nor tails of it.
It so happens that I didn't encounter this proof again until I was a postdoc teaching second quarter calculus. I was relieved to learn that it was now quite trivial!
If I were teaching calculus at the high school level I wouldn't leave the students entirely on their own, but I also don't think I would want to tell them anything like a real proof of the fundamental theorem. I would probably be satisfied with trying to get across the general idea in an intuitive way.
A: Castelnuovo's Contractibility Criterion: Let $S$ be a (smooth, projective, algebraic, complex) surface.  Suppose by a minor miracle that $S$ contains a smooth curve $E$, isomorphic to $\mathbb{P}^1$, which satisfies $E^2=-1$.  Then $E$ may be blown down to get a smooth surface.
I tried learning this during my master's.  I was fine with why $E$ could be blown down - you explicitly build the map by modifying a very ample divisor.  What I couldn't grasp for the life of me was why the resulting surface is smooth - I still don't know why (though I haven't look at it since)!
A: As an undergraduate, I learned the Sylow theorems in my algebra classes but could never retain either the statement or proof of these theorems in memory except for short periods of time (and in particular, for the duration of an algebra exam).  I think the problem was that I was exposed to these theorems long before I had internalised the concept of a group action.  But once one has the mindset to approach a mathematical object $X$ through the various natural group actions on that object, and then look at the various dynamical features of that action (orbits, stabilisers, quotients, etc.) then all the Sylow theorems (and Cauchy's theorem, Lagrange's theorem, etc.) all boil down to observing some natural action on some natural space (e.g. the conjugacy action on the group, or on tuples of elements on that group) and counting orbits and stabilisers (p-adically, in the case of the Sylow theorems).   (Isaacs book on finite group theory emphasises this perspective very nicely, by the way.)  
A: This may look silly, but while I'm capable to prove it by heart, with variations, I still don't fully understand what makes the Galois correspondence work.
A: I did not initially understand the first isomorphism theorem.  It was not until my first year of graduate school, when my wife wanted me to teach her some group theory, that I really hit on a natural sequence of ideas which made the first isomorphism theorem "click" for me.  I talk about it here:
Does any textbook take this approach to the isomorphism theorems?
A: The Poincaré lemma. One can find an elementary proof in many places, but I've always found it to be rather mysterious. On the other hand, I think the proof becomes rather transparent if it is broken up into steps that directly use the following basic but important properties of cochain complexes and their cohomologies: (a) cochain maps induce maps in cohomology, (b) cochain homotopic maps induce the same map in cohomology, (c) a short exact sequence of cochain complexes induces a long exact sequence in cohomology. Of course, I became familiar and comfortable with these ideas much later than my first exposure to the elementary proof.
The role of Cartan's magic formula, $\mathcal{L}_X = d\iota_X + \iota_X d$, becomes very clear. It simply shows that the Lie derivative $\mathcal{L}_X$ is a cochain map that is homotopic to the zero map. This is enough to break up the long exact cohomology sequence induced by $\mathcal{L}_X$ and its kernel into a bunch of short exact sequences. Ultimately, this shows that the cohomology of the de Rham complex on $\mathbb{R}^n$ is concentrated in the lowest degree and represented by locally constant elements.
Most importantly, it is clear from the non-elementary presentation that the strategy of this proof is generalizable to other cochain complexes, which is not very obvious from its elementary presentation.
A: The proof of the Cauchy-Schwarz inequality using the discriminant of the quadratic polynomial $\lambda \mapsto q(x+\lambda y)$ appeared quite mysterious to me for a long time, until I realized that this is in fact a result of plane euclidean geometry: everything is happening in the plane spanned by x and y. It is actually an easy consequence of the Pythagorean theorem in the triangle with hypotenuse $y$ and another side spanned by $x$.
Or of the fact that the cosine is bounded by one.
A: I'd also like to contribute an answer on the fundamental theorem of calculus.  The standard proof (to my knowledge, the only proof) of the "first fundamental theorem"
$$\int_a^b F'(x) dx = F(b) - F(a)$$
(when $F'$ is Riemann-integrable) looked and looks like a huge cheat (the proof is given, unnecessarily, on Wikipedia.  Specifically, it cheats by computing the right-hand side rather than the left-hand side; it doesn't give much insight into how the antiderivative arises.  When I saw this in high school I spent a month or two trying to put together alternative, direct proofs to remedy this; they were all wrong.
At some point I forgot the hypothesis that $F'$ is merely Riemann-integrable and proved the "second fundamental theorem"
$$\frac{d}{dx} \int_a^x f(t) dt = f(x)$$
for continuous $f$ in a very satisfactory way (probably basically the same as the one on Wikipedia as well); of course, this implies the first one under that more restrictive hypothesis.  It gives no insight either into how the definition of the Riemann integral gives rise to an antiderivative, since it just uses very abstract linearity and locality properties of the integral.
I still don't really understand what is really going on with this contrast.  Both theorems generalize to Lebesgue integrals and the second one has the same proof; the first one gets increasingly technical as you try to pin down the correct hypotheses.  They both are based on good intuition but it baffles me why a minor adjustment in hypotheses entails a complete change in direction.
A: I didn't feel I had really grokked Euler's magnificent identity 
$$e^{ix} = \cos(x) + i \sin(x)$$ 
for a very long time. The first time I saw this formula, I think I was fourteen, and it was one of the most exciting discoveries of my young teenage life, answering many questions roiling around in my mind in one fell swoop. 
It wasn't much later where I could drone my way through a proof using power series, but somehow a deeper intuition (connected with the exponential map from a Lie algebra to a Lie group, 1-parameter subgroups, logarithmic spirals, and the definition $e^x = \lim_n (1 + \frac{x}{n})^n$) didn't come until much, much later. I still think this is one of the most fantastic and beautiful formulas in mathematics. 
Not a proof exactly, but a very basic concept that I feel I've only just begun to properly appreciate is -- wait for it -- the concept of equality. This is a humbling thing to admit. But the idea that equality, something we've all dealt with our entire lives, can be understood as an inductive notion: this came as a pretty big revelation to me, and this understanding plays a pretty important role in intensional type theory and homotopy type theory. I recommend Mike Shulman's MathCamp Notes (for high school students!) as a nice basic introduction for those who are curious. It's both simple, and incredibly deep. 
A: I hate to sound dumb, but I still don't really understand the Pythagorean theorem as well as I like. I've seen lots of proofs but they all feel too clever for me. To me, understanding a theorem or its proof means being able to see why it's true without having to work out the details of the proof.
A: During my undergraduate career, I did not quite grasp understand the proofs of results from classical cardinal arithmetic (even though I could confirm that they were logically correct). For example, the following result due to König:
Let $I\neq\emptyset$ and suppose that for every $i\in I$, $\lambda_i$ and $\kappa_i$ are cardinals such that $\kappa_i<\lambda_i$. Then, $\sum_{i\in I} \kappa_i<\prod_{i\in I}\lambda_i$,
Part of the issue was that I had yet to fully wrap my head around the idea of looking at $\prod_{i\in I} \lambda_i$ as a set of functions from $I$ into the ordinals with $f(i)\in\lambda_i$. I understood that this was how one viewed these structures, but I didn't have much intuition in that regard. However, I recently started reading through Abraham and Magidor's chapter in the Handbook and doing the exercises in there. When I looked back through Jech's Set Theory to brush up on classical cardinal arithmetic, I realized that many of these proofs are very natural.
A: The recent answer by coudy reminds me that for a very long time I didn't really grok the proof of Minkowski's inequality from Hölder's inequality, even though it's fairly simple. It just looks like a clever trick, and not really the first thing one would think of. Put differently, one would like a more conceptual story lurking behind that proof. 
As I understand it now, Minkowski's inequality (or the triangle inequality for the $p$-norm) is really all about convexity of the unit ball. You can prove $L^p$ is locally convex with a little calculus, without Hölder's inequality. But more recently I'd been telling myself the following conceptual story: if the meaning of Hölder's inequality is that there is an isometric isomorphism $L^p \cong (L^q)^\ast$, induced by the standard pairing $\langle -, - \rangle: L^p \times L^q \to \mathbb{C}$, then this implies that the unit ball in $L^p$ is the intersection of sets 
$$H_g = \{f \in L^p: |\langle f, g\rangle| \leq 1\}$$ 
where $g$ ranges over the unit ball in $L^q$. But each $H_g$ is clearly convex, and therefore so is the intersection. The standard proof of Minkowski via Hölder can be seen as just a very tidied up rendition of this more conceptual explanation. 
A: The first proof of Tychonoff's theorem I learned, from the Alexander subbase theorem, was completely mysterious to me. I didn't understand it at all. In particular I didn't really understand what the precise role of the axiom of choice was.
Later I learned that there is a much more intuitive proof using ultrafilters or, equivalently, nets. This proof also makes clear the role of the axiom of choice. You want to capture the following intuition: if $X_i$ is a collection of compact spaces and $a : \mathbb{N} \to \prod X_i$ is a sequence, then it should suffice to pick a limit point in each of the projections of $a$ to a sequence in each $X_i$ to show that $a$ itself has a limit point. Unfortunately, sequence convergence doesn't capture the topology of spaces in general, but net convergence and ultrafilter convergence both do, and the above proof works more or less verbatim with "sequence" replaced by either "net" or "ultrafilter." 
The axiom of choice enters twice: first a weak version enters in setting up the basic theory of nets or ultrafilters (you need the ultrafilter lemma either way I think), and second the full version enters when picking a limit point in each $X_i$. 
This proof also shows that if you only want to prove that a product of compact Hausdorff spaces is compact Hausdorff (often enough for applications), you only need the ultrafilter lemma: the second use of choice doesn't enter into the picture because limit points of ultrafilters are unique if the $X_i$ are Hausdorff! (I assume a similar statement is true for nets but I'm not sure.) 
A: It's a bit silly, but I didn't understand the proof of Yoneda's lemma until I taught it (3rd year undergrad). I could follow the proof formally (nodding my head in agreement at each step), but I had no feeling or understanding for why a natural transformation from Hom(-,A) to F should be determined by its value on id_A. It basically boils down to properly appreciating the concept of naturality. As such, finally `understanding' the proof gave me a tremendous sense of accomplishment!
I think that my difficulty in understanding it was that the proof is so short and clean, "almost a tautology", just following a simple diagram about, that it all goes by "too fast" and I never struggled with it enough to develop an idea for why Yoneda's lemma should be true or why the steps in the proof were natural and sensible. 
Beyond that, it was difficult for me to grasp the "diagram-chase" without a "philosophical meaning" (see this MO question) for the lemma. I think that having a strong mental "visual" image for a proof, however imprecise, is virtually a prerequisite to human understanding of mathematical proofs- my current mental model for the Yoneda Lemma proof is as a sort of system identification, with identity morphisms playing the role of Dirac delta functions to be "fed into" the system. 
A: It took me a very long time to understand the Recursion Theorem. The proof is ridiculously simple: one clear observation about computability (there is a computable total $f$ such that if $\Phi_e(e)\downarrow$ then $\Phi_{f(e)}\cong\Phi_{\Phi_e(e)}$), followed by one line of mysterious symbol-pushing. It only became meaningful to me when I was told to think of it as a diagonal argument that failed (which was also the way it was discovered, if I recall correctly).
Actually, that piece of explanation really changed the way I think about mathematics: it drove home the value of the heuristic principle that if an informal argument doesn't actually work, then there has to be some thing - which will be mathematically interesting - which is actively blocking it. Not always true, but extremely often useful for understanding why math is the way it is (at least for me).
A: In high-school we were told that a continuous function on $[0,1]$ must attain a maximum value. I recall seeing an "epsilon-delta style" proof of this, without  really understanding it. Not only was it hard to see the main ideas of the proof, but without a proper definition of the real numbers the argument necessarily becomes shaky at some point. 
A couple of years later I learned the topological definitions of continuity and compactness in terms of open sets and finite open covers. Suddenly the steps of the proof suggest themselves naturally, and everything boils down to showing that $[0,1]$ is compact by repeatedly cutting subintervals in half. This in turn pins down exactly what properties we need of the real number system for the argument to work. 
To me this was a demonstration of the amazing power of good definitions.
A: "Edgar Allan Poe:" "Any cryptosystem that human invented are breakable." So, any proofs are understandable. However until now, the zodiac 340 letter (or 340 symbol code) is not cracked. 
For me, these two problems were very outstanding:
$1)$ Suppose there are infinite number of points in a plane and the distances between each two point is an integer, then  they are all on a single straight line. This problem proposed by Sylvester and the solution by Paul Erdős is very strange for me.
$2)$ For $n\geq 2r$, the chromatic number of Kneser graph $K_{(n:r)}$ is $n-2r+2$. When I studied the proof of this theorem again and again (and also I understood it), I found that I can not understand it much more.  
A: The proof that the trace is well defined for square matrices looked like symbol pushing to me.  Many years later I realized that the proof is nonsense if you live in certain infinite dimensional worlds. Then I finally understood what was going on in finite dimensions. 
A: The first proof of quadratic reciprocity I read in a book was using some figure, with several lines in it,
and some lattice points. I did not really understand the argument and had the feeling that the proof might not be
correct at all. 
Later I saw proofs which were much clearer to me (for a  discussion
about proofs of quadratic reciprocity, see here: What's the "best" proof of quadratic reciprocity?).
A: The Monty Hall problem. Here's an excerpt from the Wikipedia article if anyone hasn't heard of it:

Suppose you're on a game show, and you're given the choice of three doors: Behind one door is a car; behind the others, goats. You pick a door, say No. 1, and the host, who knows what's behind the doors, opens another door, say No. 3, which has a goat. He then says to you, "Do you want to pick door No. 2?" Is it to your advantage to switch your choice?

Edit: As Douglas points out in the comment, there is the implicit assumption, as in the TV show, that the host always opens a door different from the one chosen by the player and always reveals a goat by this action.
I "understood" the proof in the sense that there seems no logical flaw. But I didn't in the sense that it didn't really convince me. It wasn't convincing enough until I heard the trick of considering the case when there are thousands of doors. Probability theory is evil.
A: Rosser’s trick.
It is the same idea as Gödel’s original proof​​​​​, we construct kind of a “liar paradox”, but while Gödel’s proof uses the obvious formal conditions which are needed to make the “paradox” formally work, Rosser’s trick drops all the intuitive arguments why the “liar paradox” is a “paradox” and replaces them by a formal, syntactic trick.
A: I am still not sure whether I have really understood Zermelo's proof that the axiom of choice implies Zorn's lemma. I refer to the proof of this statement given in Halmos' book "Naive set theory".
