I have compared the man pages of dir and ls and they seem to be exactly the same. Both are part of GNU coreutils and "list directory contents".
The only difference I've seen so far is that dir doesn't colorize the output.
So why do two commands exist? Is there a difference I missed? Why would one prefer dir over ls?