Spell checking is distance between a word and the closest word in a set. But it's not like the set of allowable spellings for words is well-defined. You generally choose a dictionary (or /usr/dict/words) and call that canonical-enough. Which dictionary you use, and whether your spelling is actually a better choice for your context than what the dictionary says aren't generally considered. Even though they do fuzz the idea of what's properly spelled.
EDIT: I'm not trolling or trying to start a flame war on spellers. Just point out that almost every part of human life has some subjectivity to it.
Note that for many languages there is an institution (often governmental) that decides what the grammar should be like, and which constructions are allowed. That English has many different language authorities, each with their own opinion is more of an anomaly.
EDIT: I'm not trolling or trying to start a flame war on spellers. Just point out that almost every part of human life has some subjectivity to it.