The cold fluid will meet (thermally, in adjacent pipe) more and more hot other fluid and finally as it reaches the end it will meet the hot fluid at exactly the temperature it comes in. If the fluids are flowing slow enough and the thermal bond is good enough, the cold fluid can get heated up as close to the hot fluid temperature as you want.
And the hot fluid will meet colder and colder other fluid until it reaches the coldest at the other side.
The efficiency of heat exchanger could be as close to 100% as you want, in ideal world.
In real world higher efficiency requires larger device and there is a point of diminishing returns. You also get other losses like mechanical losses due to need to pump fluids through pipes (with large surface area), due to need to have turbulent flow (to ensure mixing within pipes) and due to heat loss to the environment.
https://en.wikipedia.org/wiki/Energy_recovery_ventilation
I think another part of this is that there is generally a significant moisture content difference between hot and cool air, leading to some additional gains versus thinking in terms of air temperature alone.
And conversely, if you live in very hot and humid climate, you need to remove water from incoming air (actually, there is no other way to cool the air). This unfortunately further warms the incoming air and will necessarily lower efficiency of the exchange. Especially because you don't want to remove only minimum humidity -- you probably want to remove enough of it to get to at least 70% for comfort.
So these are extreme climates. In a more moderate climate you can get away with no need to add or remove humidity and you can get as close to 100% efficiency as you want.