The ampersand stats for "execute in background" when you put it at the end of the command line. The difference between the two is formal. They do exactly the same, but you use > when you redirect to a file, >& when you redirect to a file descriptor pointing to a file. However the latter works even when you specify a filename.
We can tell that the >& or <& syntax refers to file descriptors, whereas > and < refer to files. There is also &> which means redirect both stdout and stderr to a file.
|