I wouldn't say that a console application is totally different from a windows service. They are both hosts to execute code. That being said, there are some key differences: - A service will can run even if a user is not logged into the PC. - A service can can easily be configured to run in the context of a high-authority accounts such as Network Service or Local System. - A service comes built in with hooks for starting, stopping, restarting, and pausing while running. - A service doesn't have an attached console, it can't print anything to stdout but has to use system logging instead (credit to Martin)