From the help of Equal:
"Approximate numbers with machine precision or higher are considered equal if they differ in at most their last seven binary digits (roughly their last two decimal digits)."
Note, that "their last 2 decimal digits" must be interpreted by taking into account. that ending zeros are not written and that machine numbers have approx. 16 decimal digits.
Now considering the first 4 questions that give True. If we write LHS and RHS separately:
{{7.2 - 7, 8.2 - 8}, {8.2 - 8,
9.2 - 9}, {(7.2 - 7), (8.2 - 8)}, {(8.2 - 8), (9.2 -
9)}} // FullForm

We see, that they differ at most by the 2 last decimal digits and are therefore considered equal.
On the other hand, the question with Tally:
From the help of Tally:
"Tally[list] is equivalent to Tally[list,SameQ]."
And from the help of SameQ:
"SameQ requires exact correspondence between expressions, except that it still considers Real numbers equal if they differ in their last binary digit."
SameQ is therefore more stringent than Equal. Additionally, remember that this corresponds to approx. 16 decimal digits with machine numbers. If we write both terms to be subtracted separately:
Tally[Table[{(n + 0.2) - n}, {n, 0, 10^6}]][[All, 1]] // FullForm
We get:

And we see that these values differ more than the 16.th decimal digits.
Internal`$EqualTolerance(see e.g. this question, among others). – J. M.'s missing motivation Jan 04 '21 at 11:170.2that is not a power of of the formb / 2^q(in a certain range) is subtracted, the round-off changes withnsomewhat. Note(n + 0.375) - ngives the same answer too up to around5 * 10^15. TryTable[(n + 0.5) - n, {n, 1*10^15, 1*10^16, 10^15}]to see a change in round-off, – Michael E2 Jan 04 '21 at 12:55