The general format of the emerge command is "emerge -[-]option package". However, the "emerge rsync" command breaks this protocol: rsync is both a command and a package. "emerge rsync" should (re)emerge the latest version of the rsync package. The current behaviour of that command should perhaps be "emerge --sync-portage" with some arbitrary single-letter qualifier version too. The only way I can update rsync itself is by "emerge net-misc/rsync" - an outdated form of the emerge command. [But guys, you're doing a great job!]
FWIW, this has been bothering me for the longest time, too, together with the other commands to rsync. For example, why are we so sure that there will not be a package called 'clean'? But if that happens, what would "emerge clean" really do? At the very least, it would seem, "emerge -- rsync" should work. But the best way to fix this problem is to *always* require a command to `emerge' utility. For instance: emerge merge rsync would install 'rsync' package.
*** This bug has been marked as a duplicate of 6785 ***