Define() vs. const

In PHP, when do you use

define('FOO', 1);

and when do you use

const FOO = 1;

?

What are the main differences between those two?