As a person who has labored mightily to make sense of dbpedia, I
think that one reason why varbinary is preferable to varchar in many
applications in wikimedia is that varchar() string comparisons are case
insensitive and varbinary comparisons are case sensitive.
There are 10,000 or so articles in the english wikipedia that have
titles that vary only by case. Load those into a varchar(255) and put a
primary key on them and mysql just won't let you do it.
I looked at a sample of those article and came to the conclusion
that the semantic relations between them are complicated enough that
they cannot be autosquashed.