ssh-copy-id - install your identity.pub in a remote machine's authorized_keys
ssh-copy-id is a script that uses ssh to log into a remote machine (presumably using a login password, so password authentication should be enabled, unless you've done some clever use of multiple identities)
It also changes the permissions of the remote user's home, /.ssh, and /.ssh/authorized_keys to remove group writability (which would otherwise prevent you from logging in, if the remote sshd has !StrictModes? set in its configuration).
provides any output, it uses that in preference to the identity file.
If the -i option is used, or the ssh-add produced no output, then it uses the contents of the identity file. Once it has one or more fingerprints (by whatever means) it uses ssh to append them to /.ssh/authorized_keys on the remote machine (creating the file, and directory, if necessary)