The mathematical formula used to decide whether a mon is shiny is:
floor((tid XOR hid XOR upperPV XOR lowerPV) / 8) == 0
The first two values are constant for a save file, and the other two are uniform 16-bit random integers:
floor((const XOR const XOR rand(16) XOR rand(16)) / 8) == 0
Any operation involving constants is, itself, a constant, so:
floor((const XOR rand(16) XOR rand(16)) / 8) == 0
Now, when you XOR a number of any kind with a random variable of the same number of bits, and all you keep is the result,
the result is, itself, a random variable. (See
one time pad and
stream cipher for more information on the theory of this.)
Using this fact, we can simplify our expression further, to:
floor((rand(16) XOR rand(16)) / 8) == 0
Trivially, this fact holds true for two random variables, giving:
floor(rand(16) / 8) == 0
Because we are dividing by a power of two, the least significant bits disappear and all the other bits are just moved down, providing:
rand(13) == 0
"A random 13-bit integer must equal zero."
The odds of this happening are the same as 13 consecutive Bernoulli trials (coin flips) with P=0.5 being false, or 0.5^13 = 1/8192
Deviations from this happen because of broken random number generator implementations. Pokémon Emerald is the most notorious culprit, where the RNG is seeded with the same data every time, causing the same PVs to be generated for a given system run time. The set of frames one will encounter performing soft resets is usually in the range of 200, depending on the encounter method and the speed of the player. This means the same 200 trials are repeated over and over again and, for some IDs, these trials don't yield any shinies.
Other games seed more intelligently. R/S use the built-in clock to seed. FR/LG use the time spend on the title screen plus possibly other sources. The 4th-generation games and on use the DS's built-in clock.
PS. Don't be so closed-minded and quick to condemn someone who says anything that's different from what you believe. I could go back and add Bulbapedia links for all these facts, but I've already wasted enough time writing this post.