For me, the hardest part about working from home (been doing it since late 2006) is dealing with unproductive days. Some days, try as I might, I just can't seem to get anything done. I end up feeling guilty about this, far worse than I ever felt about wasted days while in an office. The fact that productive days will (hopefully!) outweigh the bad ones should be consolation—but in practice it's not much of one.
I don't think you should feel guilty. This is the nature of our work. There are days where you "feel" it and days where you don't. There are days when there is a lot to do and there are days when you're in a holding pattern to see what's happening with something. At least here in Pennsylvania, the state labor board actually recognizes this fact and has classified software development professionals as "salaried, exempt" status, meaning there is an expectation of huge variation in hours worked, sometimes plus, sometimes minus. Unfortunately, most employers just use it as an excuse to force employees to work constant plus with no overtime pay.
I don't think I should feel guilty either, yet I do anyway. I don't want to give the impression that I think the guilt is rational, though. Still, rational or not, the feeling is real, and I'm not the only person by any means to have it.
I often wonder what it's like for people who need to use their minds when they work yet are under inflexible schedules, such as teachers. They too must have good and bad days, but they don't have the luxury to say "you know what, I'm just not going to teach anybody anything today, so after second period is over, I'm leaving." On the other hand, now that I think about it, I vaguely remember some high school teachers ending lessons early. Maybe doing so was their version of calling it quits for the day early.
From the teachers I know, and I went to a university that is traditionally a teaching school, they don't use their minds much at all. Most teachers aren't dedicated to the job, they're just looking for a job. They show up, punch the clock, zombie their way through the day, go home at the end of the day, and repeat the next day.
Unproductive days are the hardest thing for me to deal with as well. One thing I have done that helps me is to leave and go to a coffee shop the instant I start feeling unproductive. The 10 to 15 minute drive there usually helps me get back into the right mindset. The coffee aroma and an environment where others are working or appear to be doing something productive is also helpful.