It disambiguates labels from registers, assuming of course you allow labels to have register names. eg this is valid:
mov rax,%rax
rax: .ascii "hello\0"
Stupid perhaps, but valid.