I'm particularly thinking of Stockfish here, since that is the one I use most, but it seems to happen with other engines.
Sometimes you have a position and the recommended move for white might be +1.7 say. So you make the move and then for black the best move is suggested as being +0.6.
Is this because:
A) The engine is not perfect, so if it can search 19 moves ahead, then after the move it can search one ply further into the game, and that reveals something that dramatically changes the score. If so, what does this tell us about the position?
B) Does the engine take into account the possibility that the opponent won't play optimally. E.g. does the engine assign any value to traps that are avoidable. For example, Given a choice between going directly to a position, or transposing to that position via offering a trap you should clearly try the trap first. Would the engine agree? Is the score only reflecting the "best" line, or some average of possible lines?