The phrase often implies a delayed understanding, suggesting it took time to 'cotton on'. Everyone knew about the surprise party before he cottoned on.
Pro Tip 2/3
Subtle Nuance
'Cotton on' can imply a gradual realization, not an instant one. She slowly cottoned on to the hidden meaning in his words.
Pro Tip 3/3
Informal Use
This phrase is informal and more common in conversational English. I cottoned on to the joke late but still laughed.