I feel like in discrete mathematics (especially combinatorics), since we don't use continuous functions, it's useful to say 0^0 is 1, along with 0! = 1, and so on. Makes a lot of things around Binomial theorem and the like easier. I'm not so sure if it's safe to use that when doing and calculus proofs or anything along those lines, but there, you have more useful tools for dealing with limits that might approach 0^0.
0! really is 1 in a much more reasonable sense. The empty product is the multiplicative identity. The continuous notion of ! also agrees: http://en.wikipedia.org/wiki/Gamma_function