Say we have the expression $$\frac{a}{b}=\frac{a+3}{b-8}$$
When we cross-multiply the terms we end up with $$a(b-8)=b(a+3)$$
If we try $a=-3$ and $b=8$ in the previous expression we get $-3(8-8)=-8(-3+3)$ that results into $0=0$. As both sides are equivalent and equal to zero, this means that the choice $a=-3$ and $b=8$ is a solution to the first expression (on the top). Is this true?
But if we replace $a=-3$ and $b=8$ directly in the expression at the top, then we have $$\frac{-3}{8}=\frac{0}{0}$$ which tells us that $a=-3$ and $b=8$ is not a solution!
So how to explain this discrepancy?
If we try instead with $a=3$ and $b=-8$ in the cross-multiplied expression, then we have $$3(-8-8)=-8(3+3)$$ which simplifies to $-48=-48$. And putting $a=3$ and $b=-8$ directly in the top expression gives $$\frac{3}{-8}=\frac{6}{-16}$$ which is mathematically equivalent.
I can understand that if $\frac{a}{b}=\frac{3}{-8}$, then $\frac{-a}{-b}=\frac{-3}{8}$ and from the latter we cannot write $\frac{a}{b}=\frac{-3}{8}$ by simply cancelling out the negative signs in the LHS expression.
This is rather basic maths and I hope that someone can shed some light. It can have to do with the properties of the equal sign.
The main issue is that the expression:
$$\frac{a}{b}=\frac{a+3}{b-8}$$
is not defined (according to the usual definitions of arithmetic and numbers) if $b = 8$ (or $b = 0)$, because you're dividing by zero. The formal reason you can't do that is because the element $0$ has no multiplicative inverse in any field containing it: that is by definition of a field. The reason that the formal reason exists in the definitions is because, otherwise, if one continues such manipulations according to the usual rules, one ends up with inconsistencies, as you did. Again, you assumed something that wasn't true in the usual systems of arithmetic (that $0$ has a multiplicative inverse) and then proceeded to continue by those same rules of arithmetic and reached an inconsistency.
A perhaps clearer way of seeing it is that really what you've done is started with the kosher expression:
$$a(b-8)=b(a+3)$$
And next you said, I want to divide by $b-8$. What that means in the formalism of fields is that you want to multiply by the multiplicative inverse of $b-8$, but remember that doesn't exist if $b-8 = 0$. So here it's plainly seen that you assumed two contradictory things. Somewhat related to this, I think I heard that there's a theorem somewhere in logic land that says if you assume two things that contradict each other you can prove any result, true or false...