Hi,
It is nice, handy tool when you need to read data out of one (or more) source(s), and write it to another. It can run in batches, scheduled, on demand, as you like. It can transform the data on the fly, it can compare (update) incoming data with these on target and so on.
One example of use is with other IBM Security Products, e.g. IBM Security Identity Manager. There, you use it for data feed - reading data about employees from some HR database, using e.g. JDBC driver to connect to database, do some transformation, and insert it into Identity Manager data store (LDAP) through API (JNDI). Other, with the same product, you may use it to communicate both ways with some applications, databases, directories, to manipulate with user accounts from Identity Manager application. There are already created adapters for well known apps and DBs, but you can create your own, from the scratch.
Beside IBM Security Identity products, you may use it with virtually anything where sync of data between two data stores is needed, it can talk with mostly everything.
Hope this helps,
Mita