There are three roughly independent big ideas going on here.
The first big idea is that of trying to understand the behavior of $x^2$ near the point $x=3$. There are a number of different paths there, and a number of different ways to actually write a precise statement. The one I'm going to use is to note the exact representation
$$ x^2 = 9 + (x+3) (x-3) $$
and the approximate representation
$$ x^2 \approx 9 + 6 (x-3) $$
The relevant aspect we're going to use for the proof is that the value at $3$ is $9$. The predominant description of how the function varies near $3$ is that the relative size of $x-3$ varies dramatically, but $x+3$ just hovers near $6$ without there being much relative error in that approximation.
So, as $x \to 3$, the convergence happens because the $x-3$ factor vanishes, while the $x+3$ factor just mucks around near $6$, rather than doing something (like diverging to $+\infty$) to counteract the vanishing of $x-3$.
Incidentally, once you get this proof down, it would be a useful exercise to try to devise a different proof based on the representation
$$ x^2 = 9 + 6(x-3) + (x-3)^2 $$
The second big idea is simply the mechanics of how $\epsilon-\delta$ proofs work and what they express. IMO, the predominant obstacle here is simply adapting to the necessary thought structure.
However, one key idea that we will use is that if some value of $\delta$ forces "good enough" approximations, then making $\delta$ even smaller will ensure that your approximations are still good enough.
The third big idea is the methods of translating intuition to arithmetic. Recall the key ideas were that $x-3$ vanishes as $x \to 3$, but $x+3$ doesn't grow large. The size of the $x-3$ part is controlled directly by $\delta$, so what we're missing is a technique to express that $x+3$ isn't growing large.
The usual technique is to just pick some big upper bound on $x+3$ -- say, $100$, and find a way to pick $\delta$ to ensure $|x+3| < 100$. For example, insisting that $\delta < 10$ is good enough
A slightly easier approach would be to do it the other way around: pick, say, $\delta < 5$ first, and then find some upper bound on what value $x+3$ can possibly attain. In this case, $|x-3| < 5$ implies $|x+3| < 8$.
So if we always take care to ensure that $\delta \leq 5$, then we can invoke the bound $|x+3| < 10$ whenever we want.
Surprise fourth idea! This idea isn't a prerequisite to understanding, but it's one that often doesn't get well-emphasized, and people often make problems a lot harder than they need to because they don't quite get this idea. Thus, I felt I should mention it.
Notice how loose I was with my bounds in the previous section. $\delta < 10$ tells us something much stronger than merely $|x+3| < 100$. And $\delta < 5$ was good enough to get $|x+3| < 8$, so why did I say $|x+3| < 10$?
The point is that you don't actually need very good bounds at all -- the only important fact about our bound on $|x+3|$ is that it doesn't grow to $+\infty$. The differences between $100$, $10$, $8$, $7$, or even $6.0001$ are completely insignificant when compared to the thing we actually need to show.
When literally anything will do, the best approach is to do something that is quick, simple, and easy to work with. Don't bother with trying to do a more careful analysis to look for the "best" bounds unless you're working a problem when such things are actually useful.
If you are uncomfortable with any one of the three ideas, then the overall proof is likely to make you uncomfortable, no matter how comfortable you are with the other two parts -- my advice is to try and pin down precisely which aspect of the problem makes you uncomfortable