大雑把な話だけ書きますね。
「努力値」というのは、各々のポケモンの種類ごとに決められている、外からは確認できない数字の1つです。
ポケモンはバトルをすると経験値を入手します。
これが一定数たまると、レベルが上がり、能力が高くなっていきます。
バトルが終わったとき、実は経験値と同時に「努力値」も入手しているのです。
そして、ポケモンがレベルUPするときに、この努力値がたくさんたまっているほど、能力の上がり方がよくなります。
たとえば、「攻撃」に関する努力値がほとんどたまっていないポケモンと、たくさんたまっているポケモンでは、レベルUP時に「攻撃が○ポイント上がった・・・」というこのポイント数が違ってくるわけです。
どのポケモンとバトルすると、どの能力に関する「努力値」がもらえるのかは、決まっています。
また、1体のポケモンがためられる「努力値」の上限も決まっています。
自分が伸ばしたい能力に関する「努力値」をもっているポケモンとバトルをすれば、その能力を上げやすくなるのですが、すべての能力を全部高くすることはできません。(努力値に上限があるからです)
タウリンや、ブロムヘキシンなどの「ポケモンの能力の基本値をあげる」効果がある・・・という薬は、「努力値」を食べさせているのと同じことです。
努力値が上限までたまったかどうかは、「がんばリボン」がもらえるかどうかで簡単に調べることができます。
(そうでなければ、メモをとりながら、なんポイントためたか計算することになるでしょう)