String, em geral, deve ser usado para texto curto. Por exemplo, é um
VARCHAR(255)
sob MySQL. Text usa o texto maior do banco de dados, como, no MySQL, o tipo
TEXT
. Para obter informações sobre como isso funciona e os internos no MySQL e limites e outros, consulte a outra resposta de Pekka.
Se você está solicitando, digamos, um parágrafo, eu usaria texto. Se você estiver solicitando um nome de usuário ou e-mail, use string.