My wife and I have a standing agreement where I pick up our son Horatio from school and she picks up our daughter Hypatia.
One day, because I knew I would be near Hypatia's school, it was convenient to swap duties. I emailed her a message, "I'll pick up Hypatia today, and you get Horatio. Please confirm; otherwise it is as usual." She texted me back, "Let's do it. Let me know if you get this message, so that I know we're really on." I left her a voicemail, "OK, we're definitely on for the swap! ....as long as I know you get this message." She emailed me back, "Got the message. We're on! But let me know that you get this message so I can count on you." You see, without confirmation she couldn't be sure that I knew she had gotten my earlier confirmation of her acknowledgement of my first message, and she may have worried that the plan to swap was consequently off.
And so on ad infinitum......
How truly frustrating it was for us that at no stage of our conversation could we seem to know for certain that the other person had all the necessary information to ensure that the plan would be implemented! The result, of course, was that since we had time to exchange only at most a finite number of messages, ourwas that the only rational course of action was for us each to abandon the plan to swap, and: we both independently decided just to pick up the usual child.
IndeedTo see that this was rational, observe that clearly the first message needed to have been confirmed in order for the plan to be implemented properly. Furthermore, if the $n$-th message need not have been confirmed, then it wasn't important to know that it had been received and the algorithm should have worked whether or not it was received, meaning that it didn't actually need to have been sent. So by induction, no number of confirmations suffices to implement the common knowledge that we both needed, namely, that we had each agreed to make the swap.
See also the two generals problem.