Console applications aren't used as widely today as they were just 5 or 10 years ago. Many users expect a GUI, which console applications do not support. As a consequence, console applications are practically limited to the utility category. However, if you are writing an application used by other processes or as part of a batch process, a console application might be perfect.
Visual Basic .NET supports multithreading, providing you with a greater variety when it comes to implementing Visual Basic applications, including console applications.
When implementing console applications, keep in mind that input and output are generally derived from very rudimentary sources like the keyboard and monitor, but the Console class does support IO redirection. For example, you can redirect console error information to a file rather than the default error device, the CRT.
Combine multithreading, command-line parsing, and file system watching with your console applications, and you can implement fairly powerful solutions without the expense of designing and testing complex user interfaces.