De Wikipedia:
Trojan horse, o troyano, es un programa informático malicioso que se utiliza para piratear una computadora al engañar a los usuarios acerca de su verdadera intención. El término se deriva de la historia griega antigua del caballo de madera que se utilizó para ayudar a las tropas griegas a invadir la ciudad de Troya por sigilo.
Por lo tanto, la diferencia es que un troyano es supuestamente un programa útil, un juego o cualquier otra cosa que el usuario quiera ejecutar; sin embargo, cuando se ejecuta, también ejecuta código dañino como robar el número CC del usuario o implantar un rootkit para el control remoto de la computadora de la víctima.
Los virus y gusanos, por otro lado, no pueden existir por sí mismos; viven y se replican adjuntándose a archivos (en el caso de virus) o utilizando protocolos de comunicación de red (gusanos).