TextBoxFor : Representará como elemento html de entrada de texto correspondiente a la expresión especificada. En palabras simples, siempre se representará como un cuadro de texto de entrada, independientemente del tipo de datos de la propiedad que se está vinculando con el control.
EditorFor : Este control es un poco inteligente. Representa el marcado HTML basado en el tipo de datos de la propiedad. Por ejemplo, supongamos que hay una propiedad booleana en el modelo. Para representar esta propiedad en la vista como una casilla de verificación, podemos usar CheckBoxFor o EditorFor. Ambos generarán el mismo marcado.
¿Cuál es la ventaja de usar EditorFor?
Como sabemos, dependiendo del tipo de datos de la propiedad, genera el marcado html. Supongamos que mañana si cambiamos el tipo de datos de la propiedad en el modelo, no es necesario cambiar nada en la vista. El control EditorFor cambiará el marcado html automáticamente.