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)