Hmm...CUPS came way after NeXTStep, way after the NeXT's acquisition of Apple acquisition in fact (wikipedia says 1999). NeXT itself just used lpr/lpd, that was it.
Of course, being Unix, you could hook into the lpd system and add your own filters. NeXT itself did this, using the on-board DPS to RIP for the NeXT Laser Printer (a Canon laser engine) and the NeXT Color Printer (a branded version of the Canon 360 dpi bubblejet). There was a quite a bit of trickiness involved, contacting the WindowServer from a background process and using high-resolution/high-bit-depth rasterising, but it was doable.
Third parties could also do this, for example I made drivers for anything from low-end Epson, HP and Canon ink jet printers (including a more advanced driver for the NCP) all the way to high end proof printers, film recorders and color laser copiers ( $50-90K items at the time). Others hooked up phototypesetters. So you definitely could print to anything as well, and everything would then come out in beautiful Postscript Level 2, with amazing WYSIWYG fidelity.
While the straightforward approach of doing this did require a printer with a raster interface, most low-end printers had that and when there was a print-head, a line of buffering was sufficient. It was more the mid-level laser printers that were a problem, because lasers required a full-page buffer and some just didn't have that much memory.
One time there was a Mission Critical Custom App (MCCA) deployment at a large pharmaceutical company that was in peril because they had several hundred (or thousand? I don't remember) IBM laser printers that did not have enough memory for a raster bitmap...and no-one had thought of that beforehand. Oops. No worries, I created a driver that extracted the text (they were only interested in the text) and precise positioning information and then sent commands in the printer's command language (not PCL or anything else that was well-known) to position/output that text.
Of course, Adobe didn't like all of that printing, and so they continued to tighten the license agreement and hike the fees for print-use of DPS.
Anyway where I was going is that as a user, I don't give a shit about API's and the quality of their design. I care about working software. The agile manifesto didn't invent the idea. Just pointed it out in order to change a world where "there are two types of people: programmers and their victims."
But as Faulkner might say, the past isn't even past.
[1]: It gets its own Win2k VM since it has some 16k code for backward compatibility. The VM doesn't connect to the internet because the world has changed.
NeXTstep is interesting, but it was largely an integration of existing systems in a greenfield landscape. For example, CUPS remains a useful design today. Back in the days of NeXTstep, it required a high end printer. Windows 95 would [for practical purposes] print to any device or from any application that DOS or Windows 3.x would.
Which is to say that "advanced" depends on whether being able to use an existing impact printer with a new operating system is advanced or if not being able to is.