To me $0^0$ is very nicely defined as the cardinality of the set of maps from the empty set to the empty set, hence equals $1$. However, in the context of limits one must be aware that the binary operation of exponentiation is not continuous at $(0,0)$ (and not even defined in an open neighbourhood of $(0,0)$), which implies that $a_n\to 0$, $b_n\to 0$ gives us no idea what might happen to $a_n^{b_n}$ as $n\to\infty$. Therefore $0^0$ is called an indeterminate form, just like $\frac 00$; however the latter is not only an indeterminate form but also undefined. As this is the most-encountered specimen of indeterminate form, it is not surprising that confusing "indeterminate" and "undefined" is wide-spread.
Note that "indeterminate form" is really about the unevaluated expression $0^0$. Normally, if two things are equal, they have the same properties, so if $0^0$ is indeterminate and $0^0=1$, we conclude that $1$ is indeterminate - which it is of course not. The important detail is that we are not talking about the value of $0^0$ as being indeterminate, but rather the "syntactic" expression (and that's why those things are called indeterminate forms, not indeterminate values)
To clarify, we say that the ("syntactic") form $a\circ b$ is an indeterminate form if $a_n\to a$ and $b_n\to b$ does not allow conclusions about the existence or value of $\lim_{n\to\infty}a_n\circ b_n$.
Thus writing something like
$$ \lim_{n\to\infty}a_n^{b_n}=0^0=1$$
is probably wrong because $a_n\to 0$, $b_n\to 0$ does not warrant the first equality. In contrast, writing
$$ \lim_{n\to\infty}\frac{a_n}{b_n}=\frac00=?$$
is definitely wrong because you cannot equate something with an undefined expression.
Similarly to $0^0=1$, it is customary in some branches of math to define $0\cdot \infty=0$. But being defined does not mend the fact that $0\cdot \infty$ is an indeterminate form in the above sense.