I programmi da console ti sembrano inutili perchè probabilmente non utilizzi linux (non credo di sbagliare). Sotto windows la grafica e la logica delle applicazioni è strettamente connessa (almeno in genere) e lo stesso sistema operativo (anche per ragioni di efficienza) è costruito in quest' ottica. Sotto linux invece, la maggior parte dei programmi sono da riga di comando (programmi anche molto potenti e complessi non certo didattici) e quelli grafici che vedi (almeno in gran parte) sono dei frontend per questi programmi. Questa separazione tra grafica e logica ha vantaggi e svantaggi che non sto ad elencare. Comunque un vantaggio di realizzare un programma da console è la possibilità di utilizzarlo come comando da shell. Se ci pensi il linguaggio di script da shell sotto linux non è che una sorta di linguaggio interpretato di alto livello in cui le istruzioni sono i singoli programmi inclusi nel sistema operativ.Sviluppando un prog da shell tu sei in grado di arricchire questo linguaggio a tuo piacimento e utilizzare i tuoi programmi in cicli iterativi e quant'altro per svolgere operazioni complesse. Comunque anche sotto windows esistono più programmi da consolle di quanto tu non possa immaginare,in particolare la maggior parte dei programmi per la gestione della rete (come ping, ipconfig e molti altri)