The others are right… An STL file is 100% triangles, just like the polygons in CGI graphics. “Real” CNC machines can ‘interpolate’ curves and run a routine that creates the smoothest circle possible, but you’re still limited to the resolution of the machine’s movement. Since most 3D printers use stepper motors, the finest motion that you can get out of them is 1 step (or 1/8 - 1/16 - 1/32 microstepping depending on the control board) and everything curved will be made up of “stair steps” of that size.
Most programs will let you define the output resolution of your STL file though, and you can easily make the triangles small enough that it doesn’t matter. Another option in many programs is changing how many segments make up a circle. Both will have a positive impact on your models. At a certain point, the resolution of your file is a higher precision than the thermal shift of the plastic that you’re printing with.
The tradeoff is that you make the STL file and resultant GCode file much larger, and some machines will pause or stutter occasionally when they can’t buffer the data fast enough. Machines can process 1 line of GCode per mm a lot easier than 100, you know?