TextBoxFor : Ele renderizará como o elemento html de entrada de texto correspondente à expressão especificada. Em palavras simples, ele sempre será renderizado como uma caixa de texto de entrada, independentemente do tipo de dados da propriedade que está sendo vinculada ao controle.
EditorFor : Este controle é um pouco inteligente. Renderiza a marcação HTML com base no tipo de dados da propriedade. Por exemplo, suponha que exista uma propriedade booleana no modelo. Para renderizar essa propriedade na exibição como uma caixa de seleção, podemos usar CheckBoxFor ou EditorFor. Ambos irão gerar a mesma marcação.
Qual é a vantagem de usar o EditorFor?
Como sabemos, dependendo do tipo de dados da propriedade, ela gera a marcação html. Portanto, suponha que amanhã, se alterarmos o tipo de dados da propriedade no modelo, não será necessário alterar nada na exibição. O controle EditorFor altera a marcação html automaticamente.