The main difference is that a serf is legally tied to the land. A serf can't be moved around or sold as an individual - rather, if you sold the land, it came with the serfs legally bound to it. A slave, by contrast, can be bought or sold as an individual and sent wherever his owner wants.
Note: I'm talking about the kind of serfdom practiced in the Russian Empire up until 1861, not the medieval feudal kind.
Source: Russia in the Age of Catherine the Great, by Isabel Madariaga.
I've got some notes on this from a lecture, so I hope they might be of some use.
Slavery is the system by which people are bought and sold. They were, for some time, "tools with voices", part of an industrial system. They count as property, and have no real rights.
Serfs, by contrast, do. They belong to the land, and their liege lords have rights and responsibilities pertaining to them. Serfs could not be bought and sold: they went with the land, and serf families could not be broken apart. They could not be evicted from the land, and lords were obliged to feed and look after their serfs. In return, serfs could not change their craft or do something different to usual in the land. They were not free even if they were not slaves. Ultimately serfdom could be better than peasantry if it was in a time of crisis, since it was a means of surviving.
Source (via lecturer) Slavery and Serfdom in the Middle Ages, by Marc Bloch (translation of Melanges Historiques).