In countercurrent flow, the two flows move in opposite directions.
Two tubes have a liquid flowing in opposite directions, transferring a property from one tube to the other. For example, this could be transferring heat from a hot flow of liquid to a cold one, or transferring the concentration of a dissolved solute from a high concentration flow of liquid to a low concentration flow.
The counter-current exchange system can maintain a nearly constant gradient between the two flows over their entire length of contact. With a sufficiently long length and a sufficiently low flow rate this can result in almost all of the property transferred. So, for example, in the case of heat exchange, the exiting liquid will be almost as hot as the original incoming liquid's heat.