How does it work?

I began reading the documentation but I am very unsure of how it is supposed to work.
I think it is the following paragraph that is confusing me.

…snip
XtraBackup needs to be able to connect to the database server and perform operations on the server and the datadir when creating a backup, when preparing in some scenarios and when restoring it. In order to do so, there are privileges and permission requirements on its execution that must be fulfilled.
snap…

What I have now is a database server X to be backuped and I have a machine Y where I do dumps with mysqldump.
I noted that innobackupex has a --host parameter so that suggests that I would install xtrabackup on Y and call it with --host=X
But what is that datadir thing? I have no mysql server running on Y, so I have no datadir. Does it mean that I have to install a mysql server on Y? Or does it mean that I cannot do remote backups despite the --host parameter and have to install and run xtrabackup on X?

Xtrabackup uses cp command to copy files on filesystem level so xtrabackup needs to install where mysql is running. In your case X. However, you can transfer/stream the backup to host Y. --host is the connection parameter to connect to host via socket / TCP/IP protocol depends on the privileges on defined on mysql server.
Here are some links for the reference,

[url]Percona XtraBackup
[url]Percona XtraBackup
[url]Percona Open Source Software Documentation

I’m not sure it uses a real ‘cp’ command for the Innodb tablespaces, because I know it does validate the checksum of each page indepdently.

mirfan is right, however. Xtrabackup must be run on the mysql server you are backing up, but it can be streamed directly over a network connection to some other server if you wish.