Still getting notifications on this topic, so adding a bit... 🙂
For context, I write software for a living. Mostly developing for Windows and Unix (since the 1980s). Found that I - as a developer - much prefer Unix as my day-to-day working environment, so bought a fully loaded MacBook Pro in 2013 to get a laptop with a Unix command line. (Do Windows development in virtual machines.) So well-acquainted with Windows and Unix (or Linux).
Printing via shuffling SD cards is a tedious, though reliable.
Printing via USB connected to your PC seems like a good idea. USB certainly works well with common paper printers. Plug in a USB paper printer and your PC can introspect the newly connected device, and (in many cases) load appropriate drivers automatically. From your PC, you have great control over the printer.
Problem is, most of the current low-end 3D printers on the market are dumb as a rock. The USB support on the printer side is ... not really USB (cheap/dumb/unreliable/barebones). This means there are lots of problems you do not have with common paper printers on USB. The end result is less reliable.
(I have not used an Ultimaker printer. I suspect they are better sorted .. but still using primitive controllers, last I checked.)
The better alternative is to setup OctoPrint, using a Raspberry Pi. In effect, you get a $35 Linux supercomputer dedicated to the singular task of making your printer smarter. It works. The Raspberry Pi uses that half-assed USB to the printer. That means OctoPrint bends over backwards to allow for cranky/dumb printers ... and does a very good job.
Yes, it takes some work to setup OctoPrint (or OctoPi). I was several months into my 3D printing misadventures, before I got around to setting up OctoPrint.
Oh boy. Was it ever worth it. OctoPrint is so much nicer.
I have zero interest in debugging PC-to-printer USB issues. Get started with OctoPrint. You can thank me later. 🙂