Which is essentially synonymous with an elseif construct in other languages. This should probably be clarified in the documentation. If you want to add a final else statement, set the last condition to True, like this:
In[1]:= x = 5; Which[x == 1, 10, x == 2, 20, x == 3, 30, True, 100]
Out[1]= 100
If you want to test different patterns against a single value, Switch might be more elegant. See below:
x=2;Which[x==1,10,x==2,20,x==3,30]
is the same as
Switch[x,1,10,2,20,3,30]
but the latter looks better.