Why does $0!$ exist?
The ultimate reason that $0!$ is allowed to exist is because mathematicians define it to exist. We simply state $0!=1$ and continue from there. There are reasons why we do this, which others have expounded upon elsewhere, but ultimately there is nothing stopping us from defining whatever we like. You only see the useful definitions because those are the only ones that survive.
If you insist, however, the formula you are using "allows for a value to exist", which I interpret to mean "makes mathematical sense", if we interpret it in a certain way. I assume the main issue you are having is that, as far as you are concerned, the number on the top of the $\prod$ symbol should be greater than or equal to the number on the bottom. We can get around this as follows.
For all $n_{1},n_{2}\in\mathbb{Z}$, write
$$I[n]=\{k\in\mathbb{Z}:1\leq k\leq n\}.$$
For $n<1$ this definition gives $I[n]=\varnothing$. We may now reasonably define the notation you have used, for all $n\in\mathbb{Z}$, by
$$\prod_{k=1}^{n}k := \prod_{k\in I[1,n]}k.$$
In particular, if $n=0$ then there are no terms in the product, that is, we are computing $$\prod_{k\in\varnothing}k.$$ By convention we take the value of this to be $1,$ but that's not my point. My point is merely to demonstrate that the notation can be interpreted in a logical way.
Why can't you take the factorial of a negative number?
You can, in a sense, take factorials of negative numbers, but not of negative integers. One way to look at this is to notice that, using the definitions as above, we would have $$\prod_{k=1}^{-1}k = \prod_{k\in\varnothing}k = \prod_{k=1}^{0}k.$$ This would give $0!=(-1)!$, and the same for all the other negative integers. This is clearly very boring and should therefore be avoided unless very convenient, but it turns out there are better reasons to avoid this sort of thing. The best reasons involve the Gamma function $\Gamma$, but here's a naive reason why $(-1)!$ should be left undefined.
We give an alternative (in my opinion, better) definition of "factorial". First, we define $0!=1$ (or $1!=1$ if you prefer). Then, for each $n\in\mathbb{N}$ we define $n!$ inductively by $n!=n\cdot (n-1)!$. Clearly this definition agrees with your definition so far. Now, we would like to extend this definition so that we can give a value to $(-1)!$ and still keep this formula. But we would then have $$1 = 0! = 0\cdot(-1)! = 0,$$ a contradiction. So we cannot assign a value to $(-1)!$ and keep this (very useful) formula. In a sense, we can't have our cake and eat it too.
Taking factorials of other numbers
So we can't take factorials of negative integers. If you know enough analysis, you can look into the Gamma function, which, taken to its furthest, extends the idea of "factorial" to any complex number that is not a negative integer. The key points about the Gamma function, the facts that make it special, are as follows:
- that it satisfies the very useful functional equation $\Gamma(z)=(z-1)\cdot\Gamma(z-1)$, a slight variant on the one mentioned above, which gives $\Gamma(n)=(n-1)!$ for $n\in\mathbb{N}$;
- it's quite "smooth", in a slightly technical sense (except at the nonpositive integers, which correspond to negative integer factorials);
- it starts at "the right place" (it satisfies the "initial condition" $\Gamma(1)=1$).