La diferencia que existe entre un campo hidden y text es que el primero no muestra el contenido por pantalla y el usuario no puede introducir datos directamente en él; en cambio, el segundo (text) es visible y modificable por el usuario.
Entonces, ¿Para qué sirve luego un campo hidden? Sirve para poner campos ocultos al usuario y que sólo se puedan manipular mediante programación (javascript, ...). Son muy usados por los buscadores. Si entras en google y miras cómo esta hecho el formulario de búsqueda veras que utiliza hidden's para indicar el idioma, el tipo de búsqueda, etc...
Enga, hasta otra.