This is a good question.
We like to evaluate limits using the “limit laws,” for instance: If two functions have a limit at a point, the limit of the sum of the functions is the sum of the limits of the functions. That is
$$
\lim_{x\to a} (f(x) + g(x)) = \lim_{x\to a} f(x) + \lim_{x\to a}g(x)
$$
The same is true for products of functions, and for quotients, with the caveat that we cannot divide by zero.
$$
\lim_{x\to a}g(x)\neq 0\implies \lim_{x\to a} \frac{f(x)}{g(x)} = \frac{\lim_{x\to a}f(x)}{\lim_{x\to a}g(x)},
$$
Idiomatically, we say that a limit problem is in indeterminate form if the limit laws cannot be directly applied to the expression of the function.
When you say
$$\lim_{x\rightarrow3}\frac{(x-3)(x+3)}{x-3} \color{red}{=\frac{0}{0}}$$
the problem is not that $\frac{0}{0}$ is undefined. The problem is that you broke the limit laws by applying it to a quotient where the denominator tends to zero. In this situation, I would avoid using the equals sign as well, because we're not asserting the limit is equal to anything, let alone an undefined thing. We're not making any “determination” about the limit at all.
We try to work around the situation by writing the function in such a way that we can legally apply the limit laws. As you did. Since $\frac{(x-3)(x+3)}{x-3} = x+3$ when $x\neq 3$, we have
$$
\lim_{x\rightarrow3}\frac{(x-3)(x+3)}{x-3}
= \lim_{x\rightarrow3}(x+3) = 6
$$
The cancellation happens before the limit is found.
We have shorthand for indeterminate forms, which I think can further muddy the waters. For instance, when we say $1^0$ is an indeterminate form, what we mean is that there is no limit law of the form: “If $\lim_{x\to a} f(x) = 1$ and $\lim_{x\to a} g(x) = 0$, then $\lim_{x\to a} f(x)^{g(x)} = (\text{something})$.” The form of the expression cannot be used to determine the limit.