Why does it still take fucking drivers, patches, and voodoo to fucking hook up a regular printer and make it function?
Because printer manufacturers want it to be this way. Although there's also a tone of stuff that's not standardized - e.g., computer-printer communication protocol (e.g., how is a printer supposed to announce its capabilities? Remember that the old parallel interface (emulated by USB) consists of 8 data lines and 5 return status lines. It was assumed back then that printer drivers knew everything. It's also why printers have a set of "defaults" that exist in the printer driver and on the printer itself.
I also can't understand why it's so complicated? Isn't PCL supposed to be standard?
PCL is a page description language and a bit of printer control protocol. A page description language describes how to put things on paper, while a printer control protocol describes how the printer should work.
The former describes what's on the page, the latter how the pages are laid out. So something like duplexing, paper type, which tray, color settings, color correction, etc., are printer control while things like what font to use and how to rasterize it are page description.
It's only recently have full two-way communications between computer and printer been available that let us query printers for capabilities and such and actually lead us to one universal driver because printer control is typically a two-way protocol while page description is one-way.
In fact, Apple's been trying to push driverless printing through AirPrint to allow devices to print to printers directly (if they support AirPrint) or through an intermediary (legacy printers).
It looks like it's actually a modified version of CUPS since Linux can support it natively.
What's even more ironic is that inexpensive monitors only have VGA. they would be even less expensive if they had DVI (or HDMI) since they could skip the A/D part. But they want you to buy the more expensive ones for digital inputs.
Except it's generally an all-in-one chip that does it all - A/D, scaling, and panel interfacing.
Also, DVI gets complicated with stuff like HDCP (which requires keys and such) and layout (DVI does require high-speed layout since the bits are coming at it fairly fast). VGA can be fairly tolerant as long as the three lines reach the chip at around the same time.