Each type of Pokemon has a base set of attributes for Stamina, Attack and Defence. Each specific Pokemon is "born" with it's own IV (individual values), that further increase these stats by 0-15 extra points. You can not change the IV's, not all Pokemon are born equal.
These IV's make small differences in the final power of a Pokemon. For example, the base attributes of a Charizard are 212, 182, 156. This would be the "worst" charizard available where all IV's are zero. With max IV's, a Charizard would have 227, 197, 171. Each of these Atk, Def and Stam values for Charizard are only 7-10% better.
Nonetheless, if having the absolute best Pokemon is critical to you, this tool wll help you find the hidden IV values that your Pokemon has so you can decide to keep it or try for something better.
Absolute perfection isn't just having the best IV's, the "perfect" Pokemon would have both maximum IVs AND the best Moveset possible.