Значения в столбцах VARCHAR являются строками переменной длины. Длина может быть указана как значение от 0 до 255 до MySQL 5.0.3 и от 0 до 65 535 в 5.0.3 и более поздних версиях.
Если у вас MySQL 5.0.3 или более поздней версии, и вам не нужно более 65 тыс. Символов, то не имеет значения, какой вы используете, потому что и TEXT, и VARCHAR имеют переменный размер в хранилище. Если у вас много текстов длиной менее 255 символов, вы можете сохранить один байт для них, выбрав VARCHAR.
Но в совершенно ином аспекте я бы всегда выбирал тип данных, который ему больше подходит. Если вы храните текст, то есть семантически текст, который может легко превышать «стандартные» размеры, вам следует использовать тип данных TEXT.