Context switching can be the worst. Particularly when it's caused by "hurry up and wait" brought on by clients.
PM: Client wants feature X and they need it now!
Developer: Great, I can get started today, but first I'll need clarification on X, Y and Z.
PM: I'll e-mail the client...
Then hours turn into days, days into weeks. By the time they get back, I've completely forgotten what it was we were going to do on the project or why I needed to know X, Y and Z.