The short answer.... This is a common anomaly of 64-bit binary floating-point, which is how Excel represents numeric values internally.
The work-around.... Whenever you expect a calculation that involves numbers with decimal fractions to be accurate to n decimal places, explicitly round to that number of decimal places. Do not round to an arbitrary number of decimal places (like 10), as some people suggest.
For example, change the formula to =ROUND(R6-Q6,2).
I round to 2 decimal places instead of just 1 because some other numbers that we see in the column have 2 decimal places. So I presume you expect results to be accurate to 2 decimal places.
The long answer.... Numeric values are represented as the sum of 53 consecutive powers of 2 ("bits") times an exponential factor. Consequently, most decimal fractions cannot be represented exactly. And most binary calculations result in infinitesimal differences with the decimal calculation that we might do manually.
Moreover, because some of the bits must be used to represent the integer part of a number, there might be fewer bits (a short binary sum) to represent the fractional part. Consequently, the same decimal fraction might have different approximations in different numbers, depending on the magnitude of the integer part. That can result in additional infinitesimal differences with manual decimal calculations.
For example, IF(10.01 - 10 = 0.01, TRUE) returns FALSE(!) because the approximation of x.01 when x=10 is different from the approximation of x.01 when x=0.