CTI is a concept. Each telephony vendor has its own approach. For instance Genesys
T-SAPI or SIP server,
Avaya TSAPI.
Cisco and
Microsoft have been using
TAPI which is, as far as know, the closes to a standard protocol you can get.
I have been working, as an integrator, with CTI powered system for many years. Call recording and Work Force Management systems are notorious examples.
Basically what CTI is useful for is for third party systems to receive details of what is happening in the call center: call start, call send to ACD, call send to agent, transfer, etc. CTI is also used to pass information back to the telephony system based on actions by the call centre agent.
So, in that sense, CTI becomes a notifier of events and receiver of instructions. I agree ESL has the basics to get to that point but it is far from being easy to have a full working enterprise ready implementation. Enterprise is where it matters, an office PBX benefits almost nothing from a CTI integration, call centres is where it becomes really useful.
I know that from a modern communication system perspective this all sounds a bit odd. After all, all data is going through SIP or WebRTC. A developer may say, just get an API to give you the information you need or, in the worst case scenario, parse it from the wire. Well, this started when telephony was a world appart from computing systems. Telephony people had (and many still do not) have any idea of coding or even what an API is (I know, I used to be one of those - I am still trying to catch up) and developers tend to consider voice and video as just another piece of code without taking into account the incredible reliability those systems were designed for.
Anyway, CTI in the industry is still useful although the name and origin seem a bit odd nowadays.