If you're just wanting replication, OGG is much better. It's made specifically for replication, it will replicate faster, and it handles (can handle anyway) DDL. I'm sure there are a bunch of other benefits.
You __can__ use ODI for replication, but it requires a fair amount of set up, and unless you have change data capture (CDC) columns already on the source tables you want to replicate, you will need to deploy triggers, tables, and views on the source system as part of the ODI journalizing framework (to make it possible to do incremental changes). Source system folks aren't usually happy about that. IMO, you'd be more likely to use ODI to replicate a handful of tables that you own (that perhaps you are already replicating from the source system, or perhaps some warehouse tables) to another downstream system. I think OGG would be overkill for such situations.