I set up a KRKB endgame and let Chessmaster go at it. It was a drawn position and white just moved the rook along a file (even in the attack path of black's bishop). Black just moved the bishop back and forth and did not try to take white's rook.
* Question: Why does Chessmaster (as the weak side) seem to make the "best" move in some non-winning endgames (like KPK) but not others (like KRKB)?
In KPK Chessmaster tries to steal the opposition and get a draw. And in KQKN Chessmaster tries to attack the queen. In KRKB the rook should try to take the bishop and win.
Chessmaster comes with 4-men and some 5-men endgame databases (EGDB) also known as tablebases. When there are less than 5 pieces left on the board the engine stopes calculating and is only looking up into EGDB and sees if the position is won, lost or drawn. If it's won, it will make the moves that lead to the quickest mate. If it's lost, it will make moves that avert mate the longest. In drawn positions (as KRKB mostly is) Chessmaster will make ANY move that doesn't change the outcome of the game. So it just shuffles the pieces back and forth seemingly randomly. But it will never make a move that would change the outcome of the game - thats why it plays the endgames "perfectly".
The funny thing, then, is that in drawn endgames such as most KRKB, humans can play (much) better than a computer with endgame databases that is supposed to play perfectly.
No they don't
Humans from time to time make a move that changes the outcome of the game (from drawn to lost, or from won to drawn), EGDB's don't do that, ever
You're missing the point. The point is that in a DRAWN position in a king and rook vs king and bishop endgame, a human would still try to win the bishop (basically HOPING that the weaker side would blunder, resulting in a win). Therefore, the human would be playing better moves in this case.
Computers don't have any hope, do they?
I know what you are meaning to say, humans keep on trying in theoretically drawn position, setting traps and hoping that their opponent will fall into them. Computers can't possibly do that, for them a drawn position is a drawn position. They see that they can't win, period. No program has an algorithym that would chose the move that creates most problems for their opponents - all moves that lead to a draw are the same for them. And in theoretically drawn positions, all moves lead to draw, hence they are all the same.
Computer's endgame "perfect play" is perfect in a sence that it never changes the outcome of the game. Humans make moves that change the outcome of the game, hence they play worse.