Apple - Best way to turn off cupsd?
In the terminal...
sudo launchctl unload /System/Library/LaunchDaemons/org.cups.cupsd.plist
...will unload cups. This stops the service.
sudo launchctl remove /System/Library/LaunchDaemons/org.cups.cupsd.plist
...will ensure that cups does not come back after a reboot.
I don't know how OS X will react if you try to leave cups unloaded in the long term. Also, I am nearly certain that major (and likely some minor) OS updates will "correct the issue" and reload cups for you. So helpful.
Last, you can check to see what services are currently running by using
sudo launchctl list
The correct command, especially with macOS Catalina, to permanently disable cups is:
sudo launchctl unload -w /System/Library/LaunchDaemons/org.cups.cupsd.plist
(The currently accepted answer states
launchctl remove /System/Library/LaunchDaemons/org.cups.cupsd.plist but in fact that doesn't do anything other than fail silently with an error return code)