If you think about it, CW was NOT designed to be decoded by machine, but by a human. The letters, numbers, and punctuation marks are of different lengths and there is no error checking of any kind built in.
?
The first "machine designed" code, Baudot, used for RTTY or hard-wired teletype has every character the same length and employs "start" and "stop" bits so that the receiving equipment can properly decode each character. Although there is no formal error checking, the sending speed is set (45 wpm) so that spacing is consistent whereas CW is sent at many different speeds and non-uniform spacing.?
?
All the later digital modes employ similar characteristics although many of them may be transmitted at various speeds, it is consistent for the duration of the message. Many of them also employ some form of error checking to ensure accuracy.