You want the most heat output possible from any type of exchanger right? Let's start with a flat plate- your incoming boiler water let's say is 180 degrees but your domestic input is only 55 degrees. If they're in parallel flow, your hottest boiler water is in contact with the coldest domestic water. The domestic will leech heat from the boiler water, so when it leaves the plate, your boiler water is only let's say 150. If the boiler water is only 150 on that end of the plate, your domestic simply cannot be any higher than 150. Now counterflowed, that 150 degree boiler water on the output of the plate is in contact with the 55 degree domestic. Are you with me still? Think of this a a preheat of sorts. Now as the domestic travels through the plate, it picks up more and more heat because the boiler input is still at 180. So once the domestic is exiting the plate, it's in contact with 180 degree boiler water, so if flows are correct, you can essentially have 180 degree domestic to fill your tank with.
Same goes for the air to water exchanger in the furnace plenum. That boiler water entering the top (updraft furnace) of the coil cools on its way down through the coil because the air is leeching that heat. But at the top, said air is already "preheated" and the last fin the air sees is in contact with 180 water again so if the stars align you could have 180 degree air instead of 150. Know what I mean?