I have no idea, haven't used cups directly.
I have written drivers for some obscure printers (IBM high speed hang tag printers (for clothing in large retail store)), etc.
Drivers make the hardware appear as a generic printer to the application software.
It would be possible to drive a printer directly from the application, but you would be faced with a far different module for each and every printer.
This is why the driver exists.
It is a very good solution to make all printers appear generic.
I have written drivers for some obscure printers (IBM high speed hang tag printers (for clothing in large retail store)), etc.
Drivers make the hardware appear as a generic printer to the application software.
It would be possible to drive a printer directly from the application, but you would be faced with a far different module for each and every printer.
This is why the driver exists.
It is a very good solution to make all printers appear generic.