IVs are actually fairly easy to explain.
Every Pokemon type has a set base stat. A Shuckle always has incredibly high Defense and Special Defense, and incredibly low everything else, for example.
However, in order to ensure that your Shuckle isn't identical to everyone else's Shuckle, GameFreak put some slight randomization into the Pokemon. They are called "Individual Values", because they are unique to an individual Pokemon.
Each Individual Value (IV), can range from Zero to 31. Once a Pokemon reaches Level 100, the full effect of the IVs can be seen. A Level 100 Shuckle with an IV of 31 in Speed will have a Speed stat 31 points higher than a Level 100 Shuckle with an IV of Zero in Speed. Which, especially considering how bad Shuckle's base Speed is, is nothing to sneeze at.
IVs still have effects at lower levels, but less pronounced, because they scale based on level.
Each time you encounter a new Pokemon, its IVs are generated at random. But, if you breed, the baby inherits half of the IVs for its stats from its parents (three stats chosen at random). If one of the parents holds a Destiny Knot, the baby will inherit five of its six IVs from its parents! So knowledge of these IVs let you breed up better and better Pokemon, and if you get one perfect or near perfect Pokemon, it's easier to breed more.
31 Points (+ or - 10% based on Nature) isn't a lot, but it can mean the difference between a one-hit KO or a two-hit KO, or which Pokemon is faster and moves first in a turn. So competitive players breed for perfect IVs.
And a system designed to make Pokemon unique results in them all being the same.