Why is it that we can only move in the X and Y axes simultaneously? Why can't we move in all three axes simultaneously?

Imagine that you wanted to make a little ducky like this:
Rubber Duck.jpg
If I used a CNC router machine to cut it from a block of material, my Gcode would have all three axes moving at the same time as the cutter came up and over the material as required.
However, to 3D print my little ducky, the printer is free to move in the X-Y plane, but only moves along the Z axis after completing laying material on the X-Y plane.

Would it be too hard to generate Gcode that would have the extruder move from (X1,Y1,Z1) to X2,Y2,Z2) while taking into account the thickness of the layer at all times during the movement?

I think there is a Gcode to make the machine follow a vertical arc pathway.

Old Man Emu