Penso che la documentazione sia ragionevolmente chiara sulle differenze tra bytea e testo :
http://www.postgresql.org/docs/9.0/static /datatype-binary.html
... ha a che fare con il fatto che i contenuti siano "testo" (soggetto alle impostazioni di localizzazione e internazionalizzazione che hai applicato alla configurazione del tuo server e al sistema operativo su cui lo stai eseguendo) rispetto a array di "ottetti" ( sequenze di valori binari a 8 bit --- comunemente indicati come "byte").
(Ci sono alcune distinzioni tecniche tra il termine "byte" e il termine "ottetto" -- perché, storicamente, alcune piattaforme e dispositivi informatici utilizzavano "byte" con parità e/o bit di stop mentre il termine "ottetti" significa sempre esattamente 8 -bit; termine introdotto per chiarire le specifiche e la documentazione per i protocolli di rete).