I work from home. I admit it…
It might not have the prestige of having a big shiny office with a dozen designers and programmers into it, but it is my workspace.
The biggest down side for me is the number of interruptions I get. People (family especially) just don’t understand that if you are coding and have your mind on a problem that even snapping you out of it for 20 seconds for a quick question can cost you hours when your thoughts are derailed. In many ways it is like sleep, you can be in a deep sleep, but as soon as someone wakes you up, it might take hours to fall back to sleep again.
I’ve tried a number of techniques that might work in an office such as wearing headphones to mean you shouldn’t be disturbed, but while you are ‘at home’ you are in their mind not ‘at work’ and hence not working.
Jason Fried of 37 Signals has a slightly different view on the idea of interruptions, but still worth considering.