Acho que a documentação é razoavelmente clara sobre as diferenças entre bytea e texto :
http://www.postgresql.org/docs/9.0/static /datatype-binary.html
... tem a ver com se o conteúdo é "texto" (sujeito às configurações de localidade e internacionalizações que você aplicou à configuração do servidor e ao sistema operacional no qual você o está executando) versus matrizes de "octetos" ( seqüências de valores binários de 8 bits --- comumente referidos como "bytes").
(Existem algumas distinções técnicas entre o termo "byte" e o termo "octeto" -- porque, historicamente, algumas plataformas e dispositivos de computação usavam "bytes" com paridade e/ou bits de parada, enquanto o termo "octetos" sempre significa exatamente 8 -bits; um termo que foi introduzido para esclarecer especificações e documentação para protocolos de rede).