IVs are like the pokemon's genes. Every Pokemon has an IV from 0-31 for each stat (HP, Attack, etc), which is random for each pokemon. They help determine the pokemon's actual stats, along with effort values (what you get from battling).
That explains why if you catch the same wild pokemon many times at the same level, each one will have slightly different stats. It's VERY rare to get a pokemon with great IVs across the board, you usually find that some stats are low, some are high.
In HG/SS, it's possible to pass on an IV value when breeding if you give either parent a "power" item like Power Weight, Power Bracer, etc.