Both are used to travel objects one by one, But Enumeration is a leagsy classes and it comes with java1.1, Iterater they have introduced in Collection framework.
Enumeration can be used for Collection objects as well as Iterator can be used for legacy classes.
Enumeration acts as Read-only interface, because it has the methods only to travels and fetch the objects, where as using Iterator we can manipulate the objects also like adding and removing the objects.
So Enumeration is used when ever we want to make Collection objects as Read-only.