Creo que la documentación es razonablemente clara sobre las diferencias entre bytea y texto :
http://www.postgresql.org/docs/9.0/static /tipo-de-datos-binario.html
... tiene que ver con si el contenido es "texto" (sujeto a la configuración regional y de internacionalizaciones que haya aplicado a la configuración de su servidor y al sistema operativo en el que lo está ejecutando) frente a matrices de "octetos" ( secuencias de valores binarios de 8 bits --- comúnmente denominados "bytes").
(Hay algunas distinciones técnicas entre el término "byte" y el término "octeto" porque, históricamente, algunas plataformas y dispositivos informáticos usaban "bytes" con paridad y/o bits de parada, mientras que el término "octetos" siempre significa exactamente 8 -bits; un término que se introdujo para aclarar las especificaciones y la documentación de los protocolos de red).