It's handy to have the definition in front of you when talking about it, so here it is:
Given a function f : R -> R, and points c and L in R, we say L is the limit of f approaching c iff
For all ε, if ε > 0, there exists a δ such that δ > 0 and for all x, if |x - c| < δ, then |f(x) - L| < ε.
The intuition behind limits and continuity is actually pretty interesting. It models our understanding of scientific measurements. Let me explain.
In science, the accuracy of our results are always limited by how good our tools are. If you want to measure the distance between two points, you can use your feet ("it's 30 footsteps to the kitchen"), you can use a ruler ("it's 25 feet and 2 inches to the kitchen") or you can use some more accurate tool ("it's 7,670,560 microns to the kitchen"). It's understood no tool gives you perfect accuracy, and there's always a tolerance. ("The distance to the kitchen is between 25 feet and 25 feet 6 inches to the kitchen").
If you want a more precise measurement, you need a more precise tool. And that's essentially what ε and δ represent in the equation.
ε is how accurate you want your outcome.
δ is how accurate your device needs to be to achieve an accuracy of ε.
Both ε and δ are required to be nonzero. This corresponds to the assumption that no measurement is ever perfect.
The absolute values are also a kind of short hand. In the last part, "|f(x) - L| < ε" means that the measurement you end up taking, f(x) is between L + ε and f(c) - ε, where L is the "actual value" of the value you're trying to measure.
The part "if |x - c| < δ" is a conditional statement. It role in the analogy is that you did indeed take a measurement with a sufficiently accurate tool.
So that's the intuition.
Logically speaking, ε-δ proofs are as tricky as you can get. It's a tricky mix of universal and existential quantifiers and logical implication (the if |x - c| < δ part) which is often given the "wrong" way. The order of quantifiers and the direction of implications is critical to get right, and the usual quasi-natural language does a garbagety job to communicate it.
A few tips on doing ε-δ proofs yourself:
Your goal is to produce a value of δ. δ is actually just an expression defined in terms of f, c, L, and ε (the variables that are in scope where δ is "created").
Once you've settled on a value for δ, the facts ε > 0 and |x - c| < δ come "for free"... your only job is to use those two facts to show that |f(x) - L| < ε.
If you can do those two things (find a value for δ in terms of f, c, L, and ε and prove |x - c| < δ), you have shown c is, in fact, the limit of f approaching L.