¿Cuál es la diferencia entre las interfaces Collection y Set en Java?

Las firmas de método declaradas parecen ser iguales. Entonces, ¿cuál es el propósito de presentar la interfaz Set en lugar de implementar Collection directamente? ¿O es solo una especie de interfaz de marcador aquí?