L'idea che mi sono fatto è riassunta bene da MItaly:
Storicamente, si è cercato il numero minimo di bit per rappresentare un sufficiente numero di caratteri. Si è passati da 4, a 6 e a 7 bit con l'ASCII. Più recentemente si è arrivati a 8 bit con l'ASCII esteso e questa misura è stata presa come standard. Già l'ASCII permetteva un buon numero di caratteri, poi con l'extended ASCII il numero è diventato sufficientemente ampio da garantire una buona programmazione nella maggior parte dei casi.
La questione di giustificare il numero di bit con questioni di convenienza nella progettazione dell'hardware non mi convince. Il software e l'hardware evolvono insieme, sono contemporaneamente causa ed effetto dell'altro. Ad esempio, bus ad 8 bit sono stati fatti anche perché 8 bit era lo standard; non penso ci siano grandi impedimenti tecnici per fare bus a 7 o 9 bit.
Discorso diverso per la scelta del codice binario, che offre indubbiamente degli ottimi vantaggi sia numerici che tecnici.