I've often been through stretches where I feel burnt out at work, can't seem to pick up steam on a project, and end up 'wasting' a lot of time looking at my favorite websites and doing other non-work stuff. I've found that these end up being balanced by periods of very high productivity. It's like there is some sort of subconscious self correction mechanism at work. I used to fret about it, but now I just accept it as part of my work habits.
You are not alone. This is such a common characteristic of productive programmers that (as a geek herder) I build "downtime" into my timelines.
They say the same thing about not being able to sleep. Get up, stretch, do something small and deliberate to clear your head (like drinking a glass of water), and then come back after you've self-corrected.
They don't cite any research that say vacations improve productivity, whereas breaks and 5-day work weeks appear to have actual research to back them.