The question says it: what would be the purpose of a command that does nothing, being little more than a comment leader, but actually a shell built-in in and of itself.
It's slower than inserting a comment into your scripts, by about 40% per call, which probably varies greatly on the size of the comment. The only possible reasons I can see for it are these:
# poor man's delay function
for ((x=0;x<100000;++x)) ; do : ; done
# inserting comments into string of commands
command ; command ; : we need a comment in here for some reason ; command
# an alias for `true' (lazy programming)
while : ; do command ; done
Edit: I guess what I'm really looking for is what historical application it might have had.