Here is how I think this work:
We define
$ a^b = \underbrace {a\cdots a}_b $ for $a \in R $ and $b \in N$.
Since so far we have not defined what $ a^{-1}$ is, $a^{-4}$ makes no sense. (right?) We can define $a^{-1}$ however we want but to preserve property $a^{m+n} = a^m\cdots a^n$ we choose $a^{-1} = \frac{1}{a}$. To define $a^b$ over whole set of integers we need to define $a^0$, and we choose it to be $1$. In other words
$$ a^b = \underbrace {a\cdots a}_{b} \text{ for }b>0$$
$$ a^b = 1 \text{ for }b=0$$
$$ a^b = \underbrace {\frac{1}{a}\cdots\frac{1}{a}}_{-b} \text{ for }b < 0$$ where $a \in R \text{ and } b \in Z$
Now $b$ can be any integer but $a^\frac{1}{b}, b \in N $ is stil undefined and we have to choose what $a^\frac{1}{b}$ will be. And we choose it to be $\sqrt[b]{a}$. Expanded definition would look something like
$$b=\frac{c}{d}, c \in Z, d \in N $$
$$ a^b = \underbrace {a\cdots a}_{b} \text{ for } c \mod d =0 \text{ and } b>0$$
$$ a^b = 1 \text{ for }b=0$$
$$ a^b = \underbrace {\frac{1}{a}\cdots \frac{1}{a}}_{-b} \text{ for } c \mod d =0 \text{ and } b < 0$$
$$ a^b = \underbrace {\sqrt[d]{a} \cdots\sqrt[d]{a}}_c \text{ for } c \mod d \neq 0 $$
To further expand definition we have to use $e$ and calculus.
So is this correct, and do we really simply choose values for $a^{-1}$, $a^\frac{1}{b}$ and $a^0$ just because they fit nicely (and make life easier) or for some other reason?
Yes, this is my understanding of the subject as well. Note that the moment the exponent stops being an integer, you need to restrict the base to non-negative real numbers, because you want $a^{3}$ and $a^{6/2}$ to be equal (and the last one to make sense at all).
I personally prefer extending to real exponents by requiring the function $x\mapsto a^x$ to be continuous, but you get the same result in the end, so it matters little.