I remote work almost exclusively at the moment. The company is in another country, thus I rarely go to the office.
I've done lots of work in offices as well, and I estimate my productivity at home is a lot higher. The flexibility in my work schedule helps a lot. Though I have some basic guidelines to when I work, I let my current mood dictate the exact hours. I may get up early somedays, or stay up late others working. I may take a day off, a long lunch, or work nonstop on a problem if in the flow.
I think if I were closer to the office I'd likely visit more often, possibly twice a month. Being remote means missing out on a lot of team building and corporate culture.
Note that I work on an hourly basis, and I think this is appropriate for remote workers. It requires a certain level of honesty, but affords me the option to be flexible. If you're on salary it can be hard to judge how many breaks are appropriate, or maybe can't justify a random day off. That said, I get absolutely no "sitting in my chair" pay, nor vacation pay, nor sick pay. There are trade-offs to the hourly model.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.