From glancing at the two games, it looks like a little of both: you play a little stronger than your rating and your opponent players weaker than his or hers. Perhaps this is due to you seeking out strong opponents to test your skills, and your opponent seeking out weaker opponents to artificially inflate his or her rating? Although, I don't think you'd gain any points from beating someone rated 1,000 points lower than you.
But there are other factors involved. Maybe it was a blitz game? The shorter the time control, the weaker play will be in general. Also, your opponent could have taken a break from chess and come back very rusty. Or it could simply be a case of playing down to the competition.
I obviously am weak but I expected more from someone 2000+. What do you think?