The essence of the difficulty in this case is that defining a "consistent" value of the function f(x,y)=x^y isn't possible. By definition, x^y is defined as e^(y log x). (Which, incidentally, is itself not well-defined; one has to make a branch cut for log to have it make sense. If you don't know what that means, just assume that we've done it, as it doesn't really impact this discussion very much.) Note that the limit as x->0 (with y <> 0 fixed) is 0 and the limit as y->0 (with x <> 0 fixed) is 1. So we can't fill in a value at (0,0) that is going to make the function continuous there.

However, as others have noted, one can make a sensible convention 0^0=1 -- sensible in the sense that it makes doing certain things easier. There are other contexts in mathematics where one makes similar conventions (without sacrificing rigor, of course) in order to simplify notation or statements of results and so on. (E.g. in measure theory one might use the convention that 0 * infinity = 0.)