IVs = Values that all Pokemon inherently have. There is one IV number (going from 0-31) for each stat. These numbers will help determine how high a Pokemon's stat is in relation to others with a different IV value.
For example:
Ponyta with 31 IVs in Speed will (at Level 100) have 31 more Speed points than a Ponyta with 0 IVs in Speed. Level 100 is where the maximum difference in IVs will show up, but you can generally tell a difference in IVs if you catch two of the same Pokemon at the same level. I think there's a trick to breeding IVs, but I don't know the specifics.
EVs = Values that you can increase by beating other Pokemon. Various Pokemon give different EVs and different numbers of EVs (usually ranging from 1-3). Like IVs, there are six EV numbers for each stat (going from 0-255). For every 4 EVs you have in a stat, the Pokemon will get another point in that stat when it levels up. Meaning that you can get up to 63 more points in a single stat by EV training. Notice how 255 is not divisible by 4, so to max a stat, you only need 252.
Sadly, the limit to how many EVs a Pokemon can have altogether is capped at 510, meaning that you can't max more than two stats altogether.