In order to understand this, one has to go to low level set theoretic concepts.
A function is a set $f$ of ordered pairs such that
for all $x,y,z$, if $(x,y)\in f$ and $(x,z)\in f$, then $y=z$.
This property allows us to write $f(x)$, where $x$ is in the domain of $f$, to denote the unique object such that $(x,f(x))\in f$: one such object exists because $x$ is in the domain of $f$ and it is unique because of the function property. Such object $f(x)$ is the value of $f$ at $x$.
Once we have a function, we say that $\{x:\text{there is $y$ such that $(x,y)\in f$}\}$ is the domain of $f$ and $\{y:\text{there is $x$ such that $(x,y)\in f$}\}$ is the range of $f$. (Axioms of set theory guarantee that both the domain and the range are sets.)
We say that a function $f$ is a function from $A$ into $B$ if $A$ is the domain of $f$ and the range of $f$ is a subset of $B$ and we write $f\colon A\to B$.
There exists a single function with empty domain, namely the empty set, which in such context is often denoted by $0$, but I'll use the other usual symbol $\emptyset$.
A family of sets indexed by a set $I$ is just a function with domain $I$. Note that in set theory everything is a set.
When talking about a family of sets indexed by $I$, the special notation $(X_i)_{i\in I}$ is often used; $X_i$ is just the value of the function at $i$. The union of this family is
$$
\bigcup_{i\in I}X_i=
\{x:\text{there exists $i$ such that $x\in X_i$}\}
$$
An axiom of set theory guarantees this is a set.
Now we're ready to define the product of a family of sets:
$$
\prod_{i\in I}X_i=
\Bigl\{
f\colon I\to\bigcup_{i\in I}X_i
\Bigm|
\text{for all $i\in I$, $f(i)\in X_i$}
\Bigr\}
$$
The axiom of choice guarantees that, if every $X_i$ is not empty, then the product is not empty, but this is not needed here.
In the special case where, for every $i$, $X_i=X$ (a fixed set), the product of the family is simply the set of all functions $f\colon I\to X$, because the union is obviously $X$.
What happens when $I=\emptyset$? Well there is exactly one function $f\colon I\to\bigcup_{i\in I}X_i$, namely the empty function.
What is $\mathbb{R}^n$ or, more generally, $X^{n}$, where $X$ is a set and $n$ is a natural number? It is just the product of the family $(X_i)_{i\in I}$ as above with
$$
I=\{1,2,\dots,n\},\qquad X_i=X
$$
Oh, well! What about $X^{0}$? In this case the index set contains no element, so it is empty. Therefore
$$
X^{0}=\{\emptyset\}
$$
Note that this set is not empty!
Additional note
Under the axiom of choice, the product of a family of nonempty sets is not empty.
Conversely, if one of the sets in the family is empty, say $X_{i_0}=\emptyset$, then the product is empty, because
$$
x\in X_{i_0}=\emptyset
$$
is false for every $x$, so we cannot find $f(i_0)\in X_{i_0}$.
However, if the index set is empty, no set of the family can be empty, so the product is not empty. Hence we can state
the product $\prod_{i\in I}X_i$ is empty if and only if there exists $i\in I$ such that $X_i=\emptyset$.
But what about $\emptyset^0$? It is the same as above: $\emptyset^0=\{\emptyset\}$ (not empty), because the empty function has empty domain and empty range, so it qualifies as an element of $\emptyset^0$.
Vector spaces
In the context of vector space, $\mathbb{R}^{0}$ is the unique vector space with one element, that is $\{0\}$. Not a big difference with the above, because a one element set can be endowed with a single structure of vector space. Note that this is consistent with the standard property that
$$
\mathbb{R}^m\times\mathbb{R}^n\cong\mathbb{R}^{m+n}
$$