user29891: I stumbled onto this position from a game posted on reddit. Stockfish gives the best move as cxd4, which it evaluates as +2.

If you play cxd4, it then says cxd4 was an inaccuracy (only being +1), and that Nxd4 was actually the best move.

It seems that the engine thinks it evaluated the position wrong in the previous move. In this case, should I regard cxd4 as a bad move or not?

user30545: Generally engine analysis accuracy is dependent on the analysis time and position. With more time the analysis depth is deeper and more accurate. Also depends on the position, if engine sees that the position is a mate in 3 at ply 5 even if we search it for 20 plies it is still mate in 3. But if there is no mate to be found and no repetition seen and other drawing lines then we will expect varying evaluation as we get deeper. Before cxd4 it has its own evaluation and accuracy but pushing the move cxd4 next will have a new analysis evaluation and accuracy. By pushing the move it advances the analysis 1 ply deeper plus the time that is used for this new analysis.

user15223: Odds are, it means there's a depth* issue. In other words one of the two moves is better at low depth, and the other move is better at high depth.
Try it yourself - put the position into Lichess without a maximum depth and run Stockfish on it. You should find that Stockfish's best move changes as you let the engine run. It'll first suggest move X, then change its mind and say Y is better, and so on. For example, suppose you have

d = 20: cxd4 (+2.01) Nxd4 (+1.80)
d = 30: Nxd4 (+1.3) cxd4 (+0.9)

Now if the first screenshot uses only a d=20 search, while the second one uses a d=30 search, you'll get what you see: the first screenshot recommends cxd4, which the second screenshot calls an inaccuracy since it loses 0.4 centipawns.
If you're interested in this you might also want to check out this question. There's a good chance the computer will say on move nine that 8...Qh4+ is the best move, and then (after you execute it) say that 8...Qh4+ is an inaccuracy.
*Depth is a number that describes how far ahead the engine is searching. It is usually measured in ply, so d = 20 is 20 ply (or 10 moves) ahead.

user3884: Don't read anything into it. This is the fault of chesscom's poor interface and has no deeper meaning. Every other website I know of does not have this issue. You should trust the current evaluation and not the words "good" or "great" or "inaccuracy."
The reason this occurs is simply that chesscom came up with a classification for all the moves as "best," "good," etc based on a quick overview with the engine. If you actually look at the positions and play any of the moves it originally recommended, the current engine might change its mind. In your case, after re-analyzing deeper, it sees the move it originally thought was best (cxd4) isn't as good as it originally thought.

29891: <p>I stumbled onto this position from a game posted on reddit. Stockfish gives the best move as cxd4, which it evaluates as +2.</p>
<p><a href="https://i.stack.imgur.com/drOf0.png" rel="noreferrer"><img src="https://i.stack.imgur.com/drOf0.png" alt="enter image description here" /></a></p>
<p>If you play cxd4, it then says cxd4 was an inaccuracy (only being +1), and that Nxd4 was actually the best move.</p>
<p><a href="https://i.stack.imgur.com/nZQAe.png" rel="noreferrer"><img src="https://i.stack.imgur.com/nZQAe.png" alt="enter image description here" /></a></p>
<p>It seems that the engine thinks it evaluated the position wrong in the previous move. In this case, should I regard cxd4 as a bad move or not?</p>
 30545: <p>Generally engine analysis accuracy is dependent on the analysis time and position. With more time the analysis depth is deeper and more accurate. Also depends on the position, if engine sees that the position is a mate in 3 at ply 5 even if we search it for 20 plies it is still mate in 3. But if there is no mate to be found and no repetition seen and other drawing lines then we will expect varying evaluation as we get deeper. Before cxd4 it has its own evaluation and accuracy but pushing the move cxd4 next will have a new analysis evaluation and accuracy. By pushing the move it advances the analysis 1 ply deeper plus the time that is used for this new analysis.</p>
 15223: <p>Odds are, it means there's a depth* issue. In other words one of the two moves is better at low depth, and the other move is better at high depth.</p>
<p>Try it yourself - put the position into <a href="https://lichess.org/analysis/2kr1b1r/1bp1npp1/p1n2q1p/8/R2pB3/2P2N2/1P3PPP/1NBQ1RK1_w_k_-_0_1" rel="noreferrer">Lichess</a> without a maximum depth and run Stockfish on it. You should find that Stockfish's best move changes as you let the engine run. It'll first suggest move X, then change its mind and say Y is better, and so on. For example, suppose you have</p>
<ul>
<li>d = 20: cxd4 (+2.01) Nxd4 (+1.80)</li>
<li>d = 30: Nxd4 (+1.3) cxd4 (+0.9)</li>
</ul>
<p>Now if the first screenshot uses only a d=20 search, while the second one uses a d=30 search, you'll get what you see: the first screenshot recommends cxd4, which the second screenshot calls an inaccuracy since it loses 0.4 centipawns.</p>
<p>If you're interested in this you might also want to check out <a href="https://chess.stackexchange.com/questions/29417/why-are-world-class-engines-playing-like-this">this question</a>. There's a good chance the computer will say on move nine that 8...Qh4+ is the best move, and then (after you execute it) say that 8...Qh4+ is an inaccuracy.</p>
<p>*Depth is a number that describes how far ahead the engine is searching. It is usually measured in ply, so d = 20 is 20 ply (or 10 moves) ahead.</p>
 3884: <p>Don't read anything into it. This is the fault of chesscom's poor interface and has no deeper meaning. Every other website I know of does not have this issue. You should trust the current evaluation and not the words &quot;good&quot; or &quot;great&quot; or &quot;inaccuracy.&quot;</p>
<p>The reason this occurs is simply that chesscom came up with a classification for all the moves as &quot;best,&quot; &quot;good,&quot; etc based on a quick overview with the engine. If you actually look at the positions and play any of the moves it originally recommended, the current engine might change its mind. In your case, after re-analyzing deeper, it sees the move it originally thought was best (cxd4) isn't as good as it originally thought.</p>
