You get +10 for each up-vote and -2 for each down-vote you personally receive on your questions and answer you provide (not the answers others provided for you). (This is, by the way, already explained in the FAQ.)
The change from 21 to 25 rep is most likely that one person voted you up for the question, and three people voted you down, giving a net of +10 + 3 * (-2) = +4 of reputation, and +1 + 3 * (-1) = -2 of votes.
]]>