This is not a bug.
It is an expected result of numerical roundoff error and the somewhat unusual way Mathematica computes division.
What is roundoff error? Floating point numbers have a finite precision. With almost any arithmetic operation performed, the result is not exact: digits beyond about the 16th get discarded.
What's special about how Mathematica computes division? a/b is really computed as a*(1/b). To prevent this one must write Divide[a,b] instead.
When you write a/a, the system computes 1/a first, but the result will not be precise to more than 16 digits ($MachinePrecision). Thus multiplying it by a does not give 1. precisely, but a result very slightly larger (in this case).
These phenomena are not unique to Mathematica. They happen whenever computing with floating point numbers on a computer (and in fact Mathematica attempts to protect against them to some extent by allowing a tolerance with equality comparisons, etc.) To fully understand what happens in different cases we also need to consider that floating point numbers are represented in binary, not decimal. It is not exactly the case that digits beyond the 16th decimal are discarded. It is more accurate (but still not the full story) to say that digits beyond the 52nd binary are discarded. The usual recommended reading about these issues is:
x = 935.93; Print[x/x]; Print[FullForm[x/x]]versusx = 935 + 93/100; Print[x/x]; Print[FullForm[x/x]]– Jason B. Jan 14 '16 at 09:17$MachineEpsilon/2for my mathematica on os x. – egwene sedai Jan 14 '16 at 09:33