One really great advantage (IMHO) of "traditional work style" is that usually you have very clear separation between work time/free time. Basically your working day finishes as soon as you get out of the office (ok, I known, in development, many times the solutions come to our heads at home :).
Working from home is a very different experience and you can find yourself working a lot more than you'd expect/are willing to :(. The problem (again, IMHO) is that it's hard to separate the matters; you see, the work is there, you are there, and the rest you can guess.
Of course other factors like your productivity, how your manager and you decide on what to do and how long it is expected to last, etc. also plays an important role and can turn your working experience more pleasant or more like a nightmare.
In my specific case, I participate in deciding which tasks I'll be working on every week so I am the only one to be blamed when my working days extends a little bit.
And theres an aggravating factor: I am kinda addicted to computers/programming and sometimes I get so excited to see the outcome of my code that I can't just stop :)
So if you are going to work from home, pay attention to these pretty common pitfalls to avoid getting trapped into them.