Spooler - feeds the print job to the printer via handshaking. Printers with small amount of RAM need the job sent in smaller chunks.
Cups integrates ppd's. https://en.wikipedia.org/wiki/PostScript_Printer_Description. Most applications generate print jobs as PostScript and cups translates your commands for print density, page size, etc. to something your printer understands.
Cups can do accounting. For example to send bills for printing costs.
Most of the time, it is fastest to do most of the above tasks on your most powerful computer and let the router just route the job.