Pigeonhole principle problems

How is the pigeonhole principle being applied to the problems? I am not being able to visualise any of the problems that are being solved by pigeonhole principle. Could someone please explain the application of pigeonhole principles? Although I know the theorem I am just not being able to apply it somehow…

Try gray code on codechef or hacker blocks, this will help you to get application of the theorem.

https://www.codechef.com/problems/GRAYSC