Chroot runs a program and, to this program only (and any child process that it launches), pretends that a certain directory (and the whole tree rooted at that directory) is all there is.
For example, suppose you're running Ubuntu, and you've installed Arch Linux on another partition which is currently mounted at
/media/arch. (It doesn't have to be a separate partition, that's just an example.) If you run
chroot /media/arch bash, this starts the version of bash from Arch Linux; if you run
ls / in that shell, this calls the
ls from Arch Linux and lists the
/ from the subtree, i.e. what is called
/media/arch in the rest of the running system. The kernel, the TCP/UDP ports, etc. are shared with the Ubuntu system:
chroot only affects the view of the directory tree.
Chromium OS runs on a Linux kernel. Crouton is an installation of Chromium OS that's suitable for running on another Linux system. It provides all of Chromium OS except a kernel (because the kernel will be the one of the host system), plus some scripts to set things up and get things running.