High Level Explanation of the Pumping Lemma
By definition, a language is regular if, and only if, it is accepted by a deterministic finite automaton (DFA). So, given a language&nbsp;$L$, suppose it is accepted by some DFA&nbsp;$M$. $M$&nbsp;has some number of states: let's call it&nbsp;$p$.  Now, consider the operation of&nbsp;$M$ on a string $w\in L$ that has length greater than&nbsp;$p$.

If $M$ accepts $L$, then it must accept&nbsp;$w$.  By the pigeonhole principle, there must be at least one state&nbsp;$q$ that $M$&nbsp;visits twice. Write $w=xyz$, where $x$&nbsp;is the sequence of characters that $M$&nbsp;reads until it first reaches&nbsp;$q$, $y$&nbsp;is the sequence of characters read between the first and second visits to&nbsp;$q$ and $z$ is the rest of $w$. Note that $y$&nbsp;must be at least one character, since it occurs between the first and second visit to&nbsp;$q$, which are different positions in the input. Observe that:


from the initial state, reading&nbsp;$x$ takes you to state&nbsp;$q$;
from state&nbsp;$q$, reading&nbsp;$y$ takes you back to&nbsp;$q$;
from state&nbsp;$q$, reading&nbsp;$z$ takes you to an accepting state.


The key point is that, from&nbsp;$q$, reading&nbsp;$y$ any number of times, including zero, will return you to state&nbsp;$q$ and you can then read&nbsp;$z$ to get to an accepting state. Therefore, the machine&nbsp;$M$ accepts any string of the form $xy^rz$ for $r\geq 0$.  We have just proved the pumping lemma.

For examples of using the pumping lemma, see our reference question. In essence, you say, "If this language was regular, it would have to obey the pumping lemma. But if it did that, it would have to include all of these strings that it doesn't include. Therefore, it's not regular."