Interesting question with several different answers. I'll give you the "low hanging fruit" answer, though, since you asked for fundamental differences: Extract, transform, load (ETL) is typically dedicated to BI or data warehousing systems and relies on a defined set of rules--which are specified by a human being. Moreover, while ETL can mean record-at-a-time processing, it's more likely to involve bulk data migration. The purpose of ETL is to facilitate the one-way copy of data from one platform to another.
In contrast, customer data integration (CDI) isn't so much about data movement as it is about operational data retrieval in a real-time or near real-time environment. It's not about copying large volumes of data as much as it is retrieving the current value of a particular customer at a given point in time. CDI is arguably "smarter" than ETL, as it has data matching, merging, and reconciliation "baked in" to its processing, hence the customer record is likely to be the most current, accurate "master" version of that customer. Hence, a CDI hub will likely be the single version of the truth about customers for the enterprise whereas with ETL, your customer record is only as accurate and current as the last batch load.
Both ETL and CDI have value, and neither is a replacement for the other, they just have different purposes in the IT infrastructure, and different value propositions to the business.
More information on ETL
This was first published in May 2006