They are known as Individual Values and they have something to do with stat points. They are different from Effort Values and Deter Values, but I really don't know what their purpose is or how they affect Pokémon's stats.
In summary, when you catch a Pokémon, a random number from 0-31 is given for each of the six stats that determines how near or far (along with other factors) from the species max that stat can be for that Pokémon.