Well, keep in mind that the factorial didn't spring from nature; it's simply a symbol invented by mathematicians that has certain useful properties. As you noticed, the definition of the factorial makes no sense when applied to 0! (how can you multiply nothing?), so it's natural that the mathematicians who invented and who use the factorial would DEFINE 0! to be equal to whatever is simplest and whatever makes their formulas easiest to use.
For example, one simple way of understanding what the factorial means is to say: "given a set of n objects, n! is the number of different ways to arrange those objects." This makes sense for, for example, n=3: there are six different ways to arrange a set of three objects (try it yourself and see!) But there is only one way to arrange a set of 0 objects, since there is nothing to rearrange. If we didn't set 0! = 1, this description wouldn't work.
Another simple formula is, for n > m, n!/m! = (n-m)!. This works if 0! = 1: n!/0! = n!/1 = n! = (n-0)!. But if we had any other value for 0!, such as 0, this formula would make no sense and we'd have to change it to say "n!/m! = (n-m)! unless m = 0", which is a lot longer and less beautiful!
There are countless other examples of why 0! = 1 is useful. Can you think of any?
P.S. If you think 0! is hard, try defining 0 to the 0 power! (Hint: there is no right answer -- mathematicians define it to equal 0 or to equal 1 depending on what is most useful for the work they're doing at the time.)