Like many limits involving two variables, this one is not as straightforward as it might seem. Consider
Limit[1/(1 + x^2/y^2), x -> 0]
Limit[1/(1 + x^2/y^2), y -> 0]
Coupling the two:
Limit[1/(1 + x^2/y^2) /. y -> x, x -> 0]
In other words, which direction you approach in x,y space is important to the limit. You can make this take almost any value between zero and one by choosing how the x,y are coupled. For example:
Limit[1/(1 + x^2/y^2) /. y -> 10 x, x -> 0]
Limit[1/(1 + x^2/y^2) /. y -> x/10, x -> 0]
give limits of 100/101 and 1/101. The same answers occur if the original form is replaced by the OPs simpler form, y^2/(x^2 + y^2).
There is a discussion of the use of generic solutions, which appears to be the reason that the first two give different answers: effectively the second is assuming that "generically" x is not zero. The tutorial doesn't explicitly mention
Limit though presumably
Solve is being used rather than
Reduce (or at least, the methodology of
Solve is being used rather than the methodology of
Reduce) in terms of generic solutions.