Diría que los términos como Controller son básicamente los mismos nombres para cosas potencialmente muy diferentes dependiendo de la metodología/marco que esté utilizando. En un nivel muy alto, pueden realizar la misma acción, de ahí el uso del nombre genérico, pero sus responsabilidades y alcance dentro del contexto del marco generalmente serán mucho más específicos y diferentes.
Por ejemplo: El controlador en MVC tiene poco o nada en común con la capa de controlador en WCSF.
Creo que estos términos como Controller/Service, etc. son genéricos y, por lo tanto, se han utilizado en muchos marcos, pero tienen un significado especial en el marco de referencia.
Además, específicamente, un controlador y un servicio para mí son dos conceptos completamente diferentes.
controlador es algo así como una capa que es responsable de orquestar la lógica dentro de la aplicación/o un aspecto de la aplicación
servicio, para mí, es básicamente la API externa a través del cual se expone aspectos de su aplicación en una manera estándar