I think Art tried to make the interface as easy as possible - and it is all designed to run via a 25 pin printer port. The outputs and inputs to that port are limited - I just forget the actual numbers but there are something like 14 output lines and 5 input lines. The other six are common return wires.
They are arranged in three seperate addresses in the computer, one with 8 lines, one with 6 lines and one with 5 lines.
If you use an external stepper driver board, each motor only requires two wires and a return, so using the eight line address you can drive four motors which are three axis and maybe a rotary table or someother equipment.
You would like to run the spindle motor M3 M4 and M5 (forward, backwards and stop) which takes two wires of the second address, and maybe the coolant which takes another two wires.
On the input side you need limit switches, homing switches and motor speed reading wires.
I don't mean to be unkind to Art, but the programming is also easier if you only have to put out step and direction pulses, and as has been said, step and direction are a standard which can be used by other applications
If you think of it that way, the 25 wires of the printer port are soon taken up.
If you are driving motors direct from the printer port (apart from needing some sort of interface because the port is not powerful enough to do it directly) you need 4, 6 or 8 wires to drive one motor. You run out of wires very quickly - you would need 12 just to drive three axis, which would only leave you 2 to drive all the other things you might want.
Since you need some sort of power amplifier anyway, you might as well get a driver board, which has all the on board electronics in it to control current, shut down if over heated, drive different types of motor etc. It will not cost any more - and only uses two wires per motor !!