1. you were using a DECwriter dot matrix printer as a terminal
2. using an ASR-33 teletype as a terminal
3. using punch cards or paper tape
4. using a glass tty that could only display 24 lines
5. when you did not have a remote terminal, and wanted to spread your code out on a table and debug it
Really depends on the program. Source code is often quite manageable. Even artifacts aren't always as large as you might expect. Busybox on my system weighs in at 1.9 MiB or alternatively 928 KiB with zstd maxed out.
But I don't really see a point to printing any of it. A situation that might require the printouts is likely to largely preclude the continued existence of modern electronics, the ability to replace batteries, or even a connection to a reliable electrical grid.