Clemens Vasters has a great definition of what services and components are.  It can be summarised by the following two statements.

A component is a development and deployment concept and refers to some form of compiled code.

A service is a deployment and runtime concept. A service is strictly not a unit of code; it is rather a boundary definition that might be valid for several different concrete implementations.

Simple but powerful!  The full statement can be found here.