Take a look at that dice applet.
For this test, let's consider it's a 1/6 drop. So let's make a few dice throws and see how many times it comes as number 1.
You can roll the dice (make sure it's 1 dice, that's what we're dealing with here, it's a linear probability), even 100 times, and you may see that result=1 to be twice as higher as the rest, or it can be at half the height.
You need to throw the dice about 10k times in order to see the chances to level off about right. That's random.
50% drop chance doesn't mean you will get it every 2nd time you kill it.
It's not: Yes, No, Yes, No, Yes, No, Yes, No, Yes, No, Yes, No, Yes, No, Yes, No
It's more like: No, No, No, No, No, No, Yes, No, Yes, Yes, No, No, No, Yes, Yes, Yes, Yes, Yes, Yes, Yes, No, Yes, Yes
It can also be like: No, No, No, No, No, No, Yes, No, Yes, No, No, No, No, No, No, Yes, No. (looks funny, but that's 50-50, at least according to the stuff they teach me at the uni).
You can run into a bad batch, or you can run into a good batch.
In theory, only when you have an infinitely long sample, you could say what the chance is. And killing it 100 times to get a sample of 100 chances, is far from infinity.
To make a 50% chance drop to be as in the first example, i'd need to link all the chances in the game to your account, so that it would detect how many times you already failed so that it would give you a more even chance (a 10% drop would effectively mean that after 10 times you killed something, it would definitely drop). Although this isn't impossible, it's one pretty hard thing to do, very time consuming
