Did you watch the haas tcp video?
https://www.youtube.com/watch?v=HxPjH4v5iEg The primary function of Tool Center Point Control (TCP) (Fanuc-G43.4) is to translate the tool-tip path defined in the part program into the position and orientations for the machine’s linear and rotary axes. Tool center point control solves the problem of local tool gouging. Since the CNC knows the profile of the workpiece surface, it can coordinate all of the axes to keep the tool tip in precise contact with the surface when moving between points. So when the program includes an X-axis move between A and B and a B-axis orientation change from -30° and +30°, the CNC automatically coordinates the Z-axis to keep the tool tip on the surface path.
The most common practice is for the CAM system to output coordinates relative to the part in top plane. If the part turns, the coordinate system turns with it. The control tracks the part as it turns keeping the zero point pinned to where you set it on the part, this mostly moves in smal linear trajectory moves. TCP is mostly used for 5 axis paths but can also be used for 3+2 paths. When a machine is in TCP mode, it will move the tool along a theoretical straight line between points.
Why is an G2/3 code better then programming a circle in small straight lines, yes precision and better result, that is why TCP is there for 5 axis, accurate control/precision. That is why we use CNC control, precision and accuracy.
Can't speak for the rest of us, but I like best results.