What happens in that game is that Nakamura locks up all the pawns and then sacrifices some material. Rybka, because it's up material, think it's winning and doesn't want to draw. But because a game of chess is drawn if 50 moves are played without a pawn move or capture, Rybka's only option to avoid a draw is to sacrifice a pawn, blowing open a hole in its pawn wall and thereby seeding its own destruction.
The mistake that Rybka makes is one that even a patzer like myself can understand. It's a mistake at a level well below human grandmaster quality.
You can read more about anti-computer chess in general here: http://en.wikipedia.org/wiki/Anti-computer_tactics
Computers are better than humans on average, but not in all dimensions.
That was a four game match, played at G/45 with a 30 second increment. Nakamura's opponent was the latest developer build of Stockfish, running on an 8 core 3 GHz Mac Pro. Stockfish had no opening book or endgame tablebase.
For the first two games (which, for some reason, are listed as games 2 and 3 at the above link), Nakamura had the assistance of an older version of Rybka (about 200 points less strong than Stockfish on the computer rating lists) running on a 2008 MacBook. For the remaining two games, Nakamura played without computer assistance.
There was a time when perhaps the top, top grandmasters (2750+) could handwave about understanding positional motifs better and maybe, occasionally, have a chance of winning, but those days are over. Engines routinely get into the 30 and 40 ply (15 and 20 moves ahead) range in under a minute these days, running on off-the-shelf hardware. Whatever advantages humans could have once claimed to have are annihilated by the pure depth of vision an engine has into a position.
Nakamura's win, while amusing, was at 3 0 time control, shuffling pieces hoping for a win on time. You couldn't get me to bet on him vs Rybka (or Komodo, Shredder or Stockfish) at normal time controls.
It's not that computers are perfect, they are not, but they are so dominate at the aspects they are good at, humans cannot cope. It's like a soccer player whose only skill is being able to run 10x faster than everyone else. It doesn't matter if that player can barely kick the ball, they will be so fast that they will cover all of their mistakes and dominate every other human player on the field by a large margin.
Sometimes, though, you WANT computers to make mistakes. For instance, when a mere mortal wants to play a game of chess with a computer.
It's no fun to get repeatedly crushed, so chess computer developers try to provide a way to set the playing strength of the computer.
So far, this has generally not been satisfactory. Here's how games often go when you are not a grandmaster and you set a computer to play at your level. It starts out totally kicking your ass. Then it makes a completely idiotic move that even a beginner can see is bad, turning the game around so you are theoretically winning. Then it plays perfectly for a while, brutally punishing every mistake you make, and it ends up winning again. Then it makes another idiotic move, and so on.
It's kind of funny. We've basically solved the problem of how to make a computer play like a person with a 3100 rating, but how to make a computer play like a 1500 is still largely unsolved.
You can browse through the games... a lot is happening, maybe more than in human chess :)
This comes up in situations like fighting games, racing games, and to some degree, RTS games. No one wants to play a computer that perfectly blocks, drives, or micros its units - the super human reaction times and control input can exploit the game engine and overwhelm a human player in almost every instance.
It's easier to make a computer with super-human skills than one which accurately replicated human foibles.
"The winner of the game is the player who makes the next-to-last mistake." -- Savielly Tartakover (1887–1956, Polish and French Grandmaster and chess journalist)