Mi respuesta a esto no se trata del uso de Max, sino del motivo de VARCHAR(max) vs TEXT.
En mi libro; En primer lugar, a menos que pueda estar absolutamente seguro de que nunca codificará nada más que texto en inglés y que las personas no se referirán a nombres de ubicaciones extranjeras, entonces debe usar NVARCHAR o NTEXT.
En segundo lugar, es lo que los campos te permiten hacer.
TEXT es difícil de actualizar en comparación con VARCHAR, pero obtiene la ventaja de la indexación de texto completo y muchas cosas inteligentes.
Por otro lado, VARCHAR(MAX) tiene cierta ambigüedad, si el tamaño de la celda es <8000 caracteres, se tratará como datos de Fila. Si es mayor, se tratará como un LOB para fines de almacenamiento. Debido a que no puede saber esto sin consultar RBAR, esto puede tener estrategias de optimización para lugares en los que necesita estar seguro acerca de sus datos y cuántas lecturas cuestan.
De lo contrario, si su uso es relativamente mundano y no espera tener problemas con el tamaño de los datos (es decir, está usando .Net y, por lo tanto, no tiene que preocuparse por el tamaño de sus objetos string/char*) entonces usar VARCHAR(max) está bien.