I'll try to shed some light on the somewhat obscure context in which "indeterminate forms" arise, even though this is far from may daily considerations and largely based on guessing about things that are not often clearly said (for instance not on Wikipedia). In fact my main encounter with indeterminate forms is them being brandished as ultimate (indeed unique) weapon in the battle waged by some to undefine $0^0=1$; more about that later.
The context is a short-cut to use continuity to avoid evaluating certain limits. By definition, $\lim_{x\to x_0}f(x)$ is insensitive to the value $f(x_0)$, or to whether it is defined at all. However, in case $f$ is continuous at$~x_0$, the limit will be equal to$~f(x_0)$, and computing that is in general easier than to apply the definition of the limit. The basic arithmetic operations $+$, $-$, $\times$, $/$ are continuous at all points where they are defined, as well as many functions like $\exp$, $\sin$, $\cos$, $\tan$, and if restricted to real numbers "$\sqrt{}$" as well as $\ln$ and inverse trigonometric functions like $\arctan$ (such functions can be extended to almost all complex numbers, but this involves choices that cannot be made throughout in a continuous way).
This takes care of many limits of an expression at a point where it is (continuously) defined, but of course the most interesting limits are those taken where the expression is not defined (with $x$ tending to infinity in some way or other, or to a point where the expression involves a non-defined case like division by$~0$).
Now the applicability of this method can be enlarged by extending both components of their domain$~\Bbb R^2$ of the operations, and their codomain, with additional points (at infinity), equipped with the appropriate topology, and then extending the operation by continuity where it can. For instance for addition one could add points $+\infty,-\infty$ to$~\Bbb R$ both in domain and codomain, with the usual neighbourhoods (which gives a Hausdorff topology, so limits when defined will be unique); one then defines addition with one infinite argument to return that argument, as well as $(+\infty)+(+\infty)=+\infty$, $~(-\infty)+(-\infty)=-\infty$. The resulting map defined in $\overline{\Bbb R}\setminus\{(+\infty,-\infty),(-\infty,+\infty)\}$ is continuous wherever it is defined. Similar extensions exist for subtraction and multiplication; in each case there are pairs of values where the operation must be left undefined if the map defined is to be continuous, since there are multiple values$~v$ such that every neighbourhood of these pairs contain other pairs where the operation gives$~v$ (indeed where this happens, it happens for _all_$~v$). For multiplication $(0,+\infty)$ is such a pair.
Division is slightly different, since it is already undefined for certain pairs in$~\Bbb R^2$, namely on the set $\Bbb R\times\{0\}$. In this case the operation can be continuously extended to most of this set by adding single point at infinity to the codomain and taking that as value for $a/0$ when $a\neq0$ (with two infinite points such an extension would not be possible). It turns out that the other arithmetic operations can also be extended using a single value$~\infty$ instead of $\pm\infty$, although one must then give up some defined cases like $(+\infty)+(+\infty)$, as $\infty+\infty$ cannot be continuously defined. On the other hand a function like $\exp$ can only be extended if $+\infty$ and $-\infty$ are distinguished. Some choices are therefore necessary as to how the topological spaces are extended; once this is done, the extension of operations/functions is limited only by the requirement of continuity.
Now if for some limit expression $\lim_{x\to x_0}f(x)$ the evaluation of $f(x_0)$ can be performed using (suitable chosen) extended operations, involving only cases where those operations are well defined, then the resulting must also give the limit, by continuity; if the resulting value should be $+\infty$ or $-\infty$, then this shows that the limit does not exist in$~\Bbb R$, and diverges in a specific way. In case the evaluation of $f(x_0)$ involves a case like $0/0$ where the extended operation is not (and cannot be continuously) defined, then this method fails, and some other method is needed to determine the limit (as a last resort, one could apply the definition of a limit). These are the infamous "indeterminate forms", they are just the points where the operations or functions used cannot be extended by continuity. What indeterminate forms precisely occur depends on which extensions are chosen. Some limits like $\lim_{x\to0}\exp(1/x)$ cannot be determined by this method, not because they hit an indeterminate form, but because no compatible extension of the codomains and domains is possible (in the example $1/0$ wants a single$~\infty$, but $\exp$ wants separate $\pm\infty$).
Continuity is the unique imperative of this method: all operations and functions involved must be continuous wherever they are defined. If some operation fails this requirement, the method becomes unreliable: in a point of discontinuity, the evaluation proceeds unstopped (because the operation is defined there) but the value produced might not be correct for the limit. For this reason one had to refrain from defining any value at the indeterminate forms, so evaluation will come to a halt when it finds one on the way. This brings me to the sad case of $0^0$, which is perfectly well defined as an empty product with value$~1$ (just like $0!$ is) or more generally as a case of the power$~0$, which gives the neutral element in any monoid. But if exponentiation is defined for positive real base and real (or complex) exponent by $x^y=\exp(y\ln x)$ then this becomes discontinuous at $(x,y)=(0,0)$ (only). So one would like to consider $0^0$ as an indeterminate form, but as I said, this requires that the value is undefined too, and this is why the fans of indeterminate forms which to undefine $0^0$. But $0^0=1$ is essential for many purposes, not in the least to allow $x^0$ to be replaced by $1$ whenever it occurs without having make an assumption $x\neq0$; undefining $0^0$ seems an unreasonable price to pay for validating something that is just a short-cut to avoid applying the definition of a limit. Instead I would propose that wherever a limit must be evaluated involving exponentiation where the exponent might be non-integer, such an expression $x^y$ be first replaced by $\exp(y\ln x)$, which can be safely evaluated with existing extended definitions (including $\ln0=-\infty$) without needing $0^0$ as indeterminate form; instead an indeterminate form $-\infty\times0$ might be hit inside the argument of $\exp$. In cases that are indeterminate in this way, the replacement of $x^y$ by $\exp(y\ln x)$ is usually the best way to proceed anyway.