I like this tool: http://www.psypokes.com/gsc/dv.php
Enter your stats of an untrained just caught pokémon, and it tells you the DVs. DVs range from 0 to F on a hex scale, which is 0 to 15 in denary. 15 is strongest, 0 weakest and they limit the highest stats that particular pokémon can ever achieve. No way of changing DVs of a pokémon, only catching lots of them (or breeding) until the DVs are to your liking.
Only Attack, Defense, Speed and Special have DVs, HP is the last bit of each DV byte put together to form one 4 bit byte ranging from 0 to F. But it does mean chance of a max stat pokémon is 16 x 16 x 16 x 16, not 16^5. 1 in 65536.
In Gold, Silver, Crystal there is more depth involved in breeding and shiny pokémon, but as this is the red board, I'll leave you to research on the legendary dogs site if it interests you.