It's really useful when doing collision detection to know the points of intersection - especially if you're trying to simulate objects moving across each other.
To be helpful, here's how you get the intersection points for circle-circle intersection. You have two circles, given by the equations
The second equation is written in terms of the origin of the first. Thus you can get (X,Y) in the second equation by subtracting the origin of the first circle from the second.
Subtract the second equation from the first, expand, and solve for x. Substitute that solution into the first equation, then solve for y. You get a quartic equation with coefficients A, B, C, D, and E given by
The last one looks really complicated, I know. Once you have the coefficients, use the Quartic polynomial class to get the roots. If there are no real roots, then the circles don't intersect. If they are real, you solve the first equation for x and put the roots into y. And there you have it, intersection points of two circles.
Once you have the intersection points, you can get a tangent vector, and project any movement of the circles along it. Or you can use it to compute trajectories post-collision.
It's a bit more versatile than just distance calculation.