Here's a Webopaedia definition of what a driver does:
"A driver acts like a translator between the device and programs that use the device. Each device has its own set of specialized commands that only its driver knows. In contrast, most programs access devices by using generic commands. The driver, therefore, accepts generic commands from a program and then translates them into specialized commands for the device."
OK. That's clear enough. Nothing new. Now in my Canon S630 printer under Print Setup I can select 9 paper sizes. including "custom' and under 'custom' I can type in desired length and width. And if I go Properties > Page Setup and select 'custom' from the fair number of choices for page size, I can again type in specific length and width.
If I make changes as described in the foregoing paragraph, am I telling the driver-temporarily-different ways to behave? The obvious answer has to be 'yes'.
So the driver does MORE than just translate application requests but becomes not unlike a software app in itself (you know...you can set parameters inl an app.).
Wouldn't a driver really be then more like the printer's software program of its own as well as a translator for an application's commands?