Why are there digraphs in C and C++?
Digraphs were created for programmers that didn't have a keyboard which supported the ISO 646 character set.
I believe that their existence can be traced back to the possibility that somewhere, somebody is using a compiler with an operating system whose character set is so archaic that it doesn't necessarily have all the characters that C or C++ need to express the whole language.
Also, it makes for good entries in the IOCCC.