In set theory, if $A$ and $B$ are sets, then their Cartesian product is defined to be $A\times B$ such that:
$\forall x,y: [(x,y)\in A\times B \iff x\in A \land y\in B]$
Exponentiation (as repeated Cartesian products) is defined as
$A^n = \underbrace{A \times A \times \cdots \times A}_\text{n times}$
where $A$ is a set and $n\in N$.
Exponentiation can also be thought of as repeated multiplication of natural numbers such that
$a^2 = a\times a$
$a^3 = a\times a\times a$
$\cdots$
$a^n = \underbrace{a \times a \times \cdots \times a}_\text{n times}$
where $a, n \in N$.
More formally, we have the following requirements of exponentiation (as repeated multiplication on $N$):
$\forall x\in N: x^2 = x\cdot x$
$\forall x,y\in N: x^{y+1}=x^y\cdot x$
It can be formally proven (see link) that there are infinitely many binary functions on $N$ that satisfy these two requirements. Fortunately, they differ only in the value assigned to $0^0$, which can be any natural number whatsoever. For each of these functions, $x^0=1$ for $x\neq 0$. For these reasons, I think $0^0$ should probably left undefined, as has been an accepted practice for nearly two centuries (since Cauchy, 1820).
From (1) and (2), we can also derive the usual Laws of Exponents provided we avoid any explicit reference to a value for $0^0$. From (1) and (2), we can, for example, derive:
$\forall x,y,z\in N: [x\neq 0 \implies x^y\cdot x^z = x^{y+z}]$
(For a formal development of these ideas, see “Oh, the Ambiguity!” at my math blog.)
My question: While there may be similarities, how is the leap made from repeated Cartesian products to repeated multiplication on the natural numbers (in order to justify $0^0=1$)? Or are they two fundamentally different things?
Added: Are (1) and (2) above insufficient as requirements for repeated multiplication on $N$? If so, what other requirements might reasonably be added to enable us to derive $0^0=1$ (or any other particular value)?
Note: This question is a follow-up to my answer at Why is $ A^0 = \{ \emptyset \}$?
In set theory, finite Cartesian product of sets is initially defined as the set of tuples with items from the factors, where the tuple $(x_1, x_2,\dots x_n)$ is the set $Pair(x_1, (x_2,\dots x_n))$, where again the $Pair$ function can be defined in different ways, the most common is $Pair(x, y)=\{x,\{x,y\}\}$.
This definition doesn’t extend to infinite products, and to empty products. So a new definition can be done, which can be proved equivalent where the first is defined, and that extends naturally to more cases. This definition uses functions from cardinals to the union of the factors, so if $\mathcal{F} = \langle X_i: i<\kappa\rangle$ for a certain cardinal $\kappa$, then the product can be defined as $\prod\mathcal{F} = \{f:\kappa\to\bigcup\mathcal{F}\,\text{such that}\,f(i)\in X_i\}$.
With this definition, finite products can be identified with those defined above, and one can see that the empty product is defined too, in fact for $\kappa=0$, the union of the family is empty and as such, there is only one function $f:\kappa\to\bigcup\mathcal{F}$, the empty function, which voidly satisfies the condition for being in $\prod\mathcal{F}$ as there is no $X_i$ at all.
Also, if any of the $X_i$ is empty, then the product is empty, as no function $f:\kappa\to\bigcup\mathcal{F}$ can satisfy $f(i)\in X_i$ for that empty $X_i$
This definition of infinite product leads to de the definition of exponentiation (in sets) as the family may be constantly a set $A$, so $\bigcup\mathcal{F}=A$. In that case the definition is much simpler, as the $f(i)\in X_i$ is automatically satisfied (when possible): $A^\kappa = \{f:\kappa\to A\}$, which contains just the empty function $\emptyset$ when $\kappa=0$, and which is empty if $\kappa>0$ and $A=\emptyset$. These are not definitions, these are consequences.
Peano’s axioms are (rephrased):
The fact that every number $a\neq 0$ is a successor can be proved by induction.
On this base, one can recursively define addition:
$$
a+0=a \\
a+S(b)=S(a+b)
$$
and multiplication
$$
a\cdot 0=0 \\
a\cdot S(b)=(a\cdot b) + a
$$
Up to here, addition and multiplication correspond to cardinal addition and cardinal multiplication in the standard VN model, where natural numbers are the finite ordinals.
You can also define integer exponentiation. You can define in any means that you want, but the simplest definition, which parallels the definitions above, is
$$
a^0=1 \\
a^{S(b)}=(a^b)\cdot a
$$
which clearly indicates that $0^0=1$ and $0^n=0$ for any $n>0$.
Again, this definition maps naturally to cardinal exponentiation.
One of the reasons many people tries to say that $0^0$ should not be $1$, is because the limit $\lim_{x\to 0^+}x^\delta = 0$ for any positive $\delta$ so “by continuity” it seems natural to define $0^0=0$, but then $\lim_{x\to 0^+}x^x = 1$ and in general $x^y$ has no defined limit for $(x,y)\to(0,0)$.
But.
Real numbers axioms (the theory of real-closed fields, which basically says that you can do addition, multiplication, there is a strict order and all positives have square roots) do not extend Peano’s axioms. In fact the RCF theory is complete. And Peano is not complete, as proven by Gödel. What actually proved by Gödel is that any theory strong enough to contain all arithmetic, is not complete.
So it turns out (quite surprisingly) that we can’t think about real numbers and hope to define things on the natural numbers on that base.
What’s left is that we can define things, and until these defintions show some inconsistency, we can safely keep these definitions.
Note: This answer has been expanded a lot because the OP required it. In fact I think it deserved such an expansion, so thank you Dan for insisting.
If $x$ is the cardinality of finite set $A$, then $x^n$ is the cardinality of the Cartesian power product $A^n$. As longer as either $A\ne\emptyset$ or $n\ne0$.
So: What happens to $\emptyset^0$. What’s its cardinality. If you make the exponent a variable: $\emptyset^n$ for $n\ne0$ then $\emptyset^n=\emptyset$, whose cardinality is $0$.
On the other hand if you make the base a variable, for $A\ne\emptyset$ then $A^0=\{()\}$ whose cardinality is $1$. (You can choose to either identify or not the zeroupla $()$ with $\emptyset$.)
So at least you have two conflicting approaches to $\emptyset^0$ much as you have two conflicting approaches to $0^0$. It is posible to claim $()\in\emptyset^0$ (it is false that a member of the zeroupla does not belong to the empty set) or $()\notin\emptyset^0$ (as nothing belong to the empty set claiming that all members of the zeroupla belong to the empty set is nonsense even if the zeroupla has no members).
With your definition, elements of $A^3=A\times A \times A$ are couples of the form $((x,y),z)$ with $x,y,z \in A$. Notice that from this it follows that $A\times (A\times A) \neq (A\times A)\times A$ and your definition does not apply to the cases $n=1$ and $n=0$.
It seems better to define $A^n$ as the set of $n$-uples of elements of $A$. An $n$-uple is nothing else than a function $I_n\to A$ where $I_n = \{0,1,\dots,n-1\}$. Notice that in the most popular construction of natural numbers (as finite ordinals) one has $I_n = n$. In this case one would have defined $A^n$ for all natural numbers $n$ and one finds that $A^1 = \{(a) \colon a \in A\}$ is naturally isomorphic to $A$, while $A^0 = \{()\}$ has a single element. Here $(a)$ denotes the function $0\mapsto a$ while $()$ denotes the only function $\emptyset\to \emptyset$. Everybody agrees that defining $A^1$ is useful, so this definitions is better than the one you have proposed.
I would call these operations powers because exponentiation is a term usually referring to some sort of natural power i.e. powers with a fixed base and variable exponent. For example: $e^x$ (Euler’s number), $e^A$ (matrix exponential), $exp(tv)$ (exponential map).
You define the powers of natural numbers again starting from power $2$ (why?!?).
Anyway you assume that
$$
\forall x,y\in N: x^{y+1}=x^y\cdot x
$$
and here your are assuming that $0^0$ is defined, contrary to your opinion.
Coming to your questions.
There is a strong similarity in set theoretic exponentiation $A^B$ and exponentiation of natural numbers $a^b$ in the fact that
$$
|A^B| = |A|^{|B|}.
$$
This formula holds true whenever $|A|\neq 0$ or $|B|\neq 0$. If one wants that it holds true also in the case $|A|=0$, $|B|=0$ one should define $0^0=1$.
About added question. You already noticed that the assumptions (1) and (2) are not enough to define the power $a^b$ for every $a,b\in \mathbb N$. To have a power function defined on all natural numbers you could use the following axioms:
$$
a^{b+1} = a^b \cdot a \qquad \forall a,b\in\mathbb N\\
a^0 = 1 \qquad \forall a\in \mathbb N
$$