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)