connect ring creates an edge loop through the center of each selected edge, so if the edges are not perfectly aligned before, you won't get a straight line.
after connect or straighten, the vertices are projected back on the reference mesh, so this is another reason you don't obtain a straight line. If you would've tried to straighten some points on a planar surface, the result would be a pretty straight line.
|