The arbitrary-precision model represents a number x`p by an ordered pair, a value x and an uncertainty dx>0. When x \ne 0, the uncertainty appears as the machine-precision number equal to p=- \log_{10} |dx/x|, where p is called the precision; when x = 0, the uncertainty appears as the machine-precision number equal to a=- \log_{10} dx, where a is called the accuracy. When x = 0, the FullForm[] looks like 0``a instead of x`p. Whether the uncertainty dx or the precision p or accuracy a is stored internally is immaterial to understanding how it works. Perhaps the only thing to realize about the internal representation is that it is probably in terms of a finite-precision binary number, and that’s only helpful in explaining things that are usually unimportant, such as why SetPrecision[0.1`50, Infinity] is not exactly 1/10 and why its denominator is a power of 2.
There are rules for computing how the uncertainties are combined and propagate throughout a computation. Mathematica uses these rules to calculate the new uncertainty/precision/accuracy of the result. I don’t know for certain what exactly is done, but a first-order approximation is that in computing y = F(x_1, x_2,\dots, x_n)
on the inputs x_j
with uncertainties dx_j, the uncertainty will be approximately
dy = \left| \nabla F(x_1, x_2,\dots, x_n) \cdot (dx_1, dx_2,\dots, dx_n) \right|\,,
or in terms of a single-variable computation y = F(x),
dy = \left| F'(x)\, dx \right| \,.
Another rule is that if dy > |y|, then y is replaced by 0. Finally, it is sometimes helpful to understand that the value for x carries several extra guard digits beyond the precision. This is so that the roundoff error in computing y is negligible compared to the uncertainty dy.
As for equality, two pairs (x, dx) and (y, dy) are considered equal if the difference |x - y| is less than their combined uncertainty dx + dy.
Now to the problem in the OP:
In both cases, the value of x is exactly 8.5 or 17/2, which is exactly representable in binary. The only difference in 8.5`50 and 8.5`51.23 is the uncertainty dx. To understand why x=8.5 arises exactly in each table, one should think about the Table[] iterators. All the values constructed are exactly representable in binary with just a few bits, so there is no roundoff error. Further the increment 1/2 has an uncertainty of 0, so that the uncertainties of the all the entries that start with precision 50 are the same. And if x increases and dx stays constant, the precision - \log_{10} |dx/x| increases.