Why does 0!=1?
That is just the way mathemations defined it. Because for zero the factorial is undefined, the reason why mathemations defined it that way is because a lot of time in, for example, infinite series the denominators the the following pattern. 1,1,2,6,24,120,.... You see the pattern? Thus, if we define 0!=1 then the pattern is easily as 0!,1!,2!,3!,.....
Also there is a way to further define the factorial for non-negative number, that is called the Gamma function. And in the Gamma function, the function of 1 is 0!=1.
As ThePerfectHacker said, this is just a matter of definition.
If you look at the factorials recursively, it makes sense though.
4! = 5!/5 = (5*4*3*2*1)/5 = 24
3! = 4!/4 = (4*3*2*1)/4 = 6
2! = 3!/3 = (3*2*1)/3 = 2
1! = 2!/2 = (2*1)/2 = 1
0! = 1!/1 = 1/1 = 1
user for example. as of this moment, he has one post and it is from a thread that he started. you can also look up in the members list for all the users who have 1 post count, you'll realize that most of them started threads
0!=1, because for positive n numbers the factorial means how many different sequences can be made out of n things: How many ways can you put the n things in one row on a table for example?
Extending to zero:
If you don't have any things to put into order, there is only one way to do that. That way, that there is nothing on the table. It is one. You cannot do anything else with zero objects, other than "not putting anything on the table". But it's not zero possibilities but one.
This is no proof just a way to understand that it's not just a simple convention.
(Sorry for digging this up but this question came up in another topic.)