The terminal-versus-window split is a fair summary, and one more axis matters if you are benchmarking rather than chatting: what defaults each tool applies without telling you. Context length, quantization variant and sampling parameters are all set for you, and they are not always the same across the two - so the same GGUF can feel noticeably smarter in one and people conclude the runtime is better. Worth pinning those explicitly before comparing anything. The other practical difference is what happens under memory pressure: when a model does not fit, one setup will spill layers to CPU and get slow while another will simply refuse, and slow-but-working versus clean failure is a real preference depending on whether a human or a script is waiting.