Each printer having its own driver is sort of like ... each terminal having its own escape sequences. When printers and terminals were purpose-built electronics with limited hardware functionality, it made sense to put the smarts into the computer and have it figure out which operations were supported by the device. Nowadays everyone just uses TERM=xterm and there aren't physical terminals anymore (even the companies that used to build them will now sell you cheap general-purpose computers that run a full-screen terminal emulator). Printers have gone the same way; there's enough computational power inside the printer itself that you can just send it something like a PDF and tell it to figure things out.
I bought an Oki 691 impact printer simply because it spoke to anything on the network without the need for drivers.
Driver-less printing is great if I'm in the same network, but not so if not.
CUPS is a program that implements the Internet Printing Protocol, basically a way to send, view, and cancel print jobs over an HTTP API. If you have a local printer connected with a parallel port, you can run CUPS and have other machines send to it. The other thing CUPS does is conversions: you can send a PDF to CUPS, and it will run the driver to convert it to whatever format the printer needs. So an application that talks to CUPS only needs to know how to generate PDFs. CUPS also supports talking to remote print servers, e.g., other CUPS servers, printers that natively speak IPP, or printers that speak some other protocol.
Google Cloud Print is a service which has the unusual property that printers connect to it, not vice versa. Therefore you can print a document to a Google Cloud Print printer without being on the same network, which IPP doesn't let you do. (For printers without direct GCP support, you'd need to leave a computer plugged into it and running, but some newer printers with built-in networking know how to talk to Google and let you register it to your Google account.)
(There's something called the "IPP sharing extensions" (IIRC) for supporting things like central print servers with auth, proxying and whatnot for enterprise deployments)