Cita: VARCHAR: maximo 255 caracteres
El VARCHAR tuvo como límite 255 caracteres hasta antes del MySQL 5.0.3. Después de eso el límite es de 65523.
La diferencia entre ambos campos no está en la longitud, sino en el tratamiento de los datos.
Ver Manual de Referencia:
11.4. Tipos de cadenas de caracteres
Cita: Las columnas BLOB se tratan como cadenas de caracteres binarias (de bytes). Las columnas TEXT se tratan como cadenas de caracteres no binarias (de carácateres). Las columnas BLOB no tienen conjunto de caracteres, y la ordenación y la comparación se basan en los valores numéricos de los bytes. Las columnas TEXT tienen un conjunto de caracteres y se ordenan y comparan en base de la colación del conjunto de caracteres asignada a la columna desde MySQL 4.1.
Lo que implica entre otras cosas que un campo BLOB diferencia entre mayúsculas y minúsculas.