You can define $x^n$ any way you want so it is certainly true that $2^3$ and $0^0$ can both be defined.
Some people claim that defining $0^0=1$ once and for all could lead to contradictions, but this claim is wrong. It is based on a general distrust of $0$, combined with faulty reasoning, such as: (a) arguments that require the impossible (requiring a discontinuous function to be continuous) or (b) arguments that use erroneous claims such as $0^x = 0$ for all $x$ (which is clearly wrong, try $x=-1$).
In math, every definition is based on convenience. The reason that the notation $x^4$ was introduced is because it is shorter than $xxxx$.
If $x^0$ wasn't defined as $1$ (for every $x$, including $x=0$) then that would be highly inconvenient. Because wherever you now see $x^n y^m$, you would have to replace that with: "if $n=0$ then $y^m$, and if $m=0$ then $x^n$, and if both are $0$ then $1$, and otherwise $x^n y^m$".
Nobody uses that kind of cumbersome descriptions, we simply write $x^n y^m$. The way the notation $x^n y^m$ is commonly used is only correct if we define $0^0$ as $1$. Fortunately, this definition is supported by many good arguments (e.g. the empty product rule, combinatorial arguments, set theory, etc., all of these produce the same conclusion) while the arguments against this definition use steps that would not be accepted in other contexts.