Advantages
Custom tailored schedule. Eat, nap, take breaks, focus on work, when and how it works best for you. You'll probably need to "keep an eye on e-mail", have your phone handy, and "stay close" during "business hours", but otherwise you are more free to tailor your schedule to be when you are most productive.
All the comforts of home. Cook your lunch at home in your own kitchen, with all your supplies and cookware available. Forget to apply deodorant that morning? Weather change so you are now dressed too warmly? Everything you need to address any eventuality is right here.
Flexibility. Sunny day? Mow the lawn now, work later when it's dark or raining. No need to have dentist appointments only with that person on the far side of town who is open until midnight.
Control of work space. The room where you do your work. The number and type of computer screens. The type of desk, chair, decor, lighting. Items that help you take breaks or think deeply. It can all be according to your preferences to set the conditions that work best specifically for you to be productive. You won't be forced to work in an open floor plan just because your company CEO somehow decided that was best for everyone.
Disadvantages
Interruptions. While you might think co-workers talking around you might interrupt you more, there are actually more interruptions at home.
Even if you live alone: If the delivery guy arrives, you'll be tempted to go retrieve the package right away. If you notice your floor is getting dusty, you might think that's a good time to sweep it. If your plumbing malfunctions, you'll need to fix it yourself right away.
But of course even more if you live with others: You plan when you want to "work on work" and when you want to "be home from work", but physically you are at home. Your family members and roommates know this, so not only do you need the discipline to stick to your your own plan, but they do too. And you can only control yourself.
Lack of structure. Whatever structure you need, you have to expend effort to make it happen. When you work away at an office, those managing that office impose schedules and other work related things on you. You don't have to worry about figuring those out; they just happen. But even outside the office, you get a transitional period during the commute to get yourself awake and mentally prepared before beginning work. On the way home, you'll also have some time to wind down and transition to a better mental state for home without any special effort or discipline. It just happens as a side effect of your commute. It's a balancing act to artificially impose these types of structure enough to transition well without starting to degrade the "flexibility" advantage.
Communication. Although technology is always improving this area, the people at the office are focused on what is around them. If you are never there but as a voice on the phone, it's harder for people to connect with you. If you are in a highly collaborative or deliberative industry, you will need to be present there in person so everyone is able to think of you as a real person and not just that annoying voice on the phone that is always reminding everyone to grab a mic or repeat the question. You need to connect before you can be a strong voice in a conversation or be able to successfully argue a point in a discussion. People need to know you before they will take you seriously. At one job I was the only remote attendee that used a webcam. In the main conference room I appeared by default on an 8 foot screen behind the main presenter. Better to be a joke than to be invisible. Just remember to meet the dress code, from the waist up, so nobody there gets flexibility envy.
Neglect. You really need to aggressively stay on top of things and form relationships with many people at the office, or you will be out of touch with things going on there. So much is communicated by word of mouth by people in the office that you won't hear unless you are asking about what's been happening. If you do not do this, you'll eventually find that the reason your work software doesn't work anymore is because everyone in the office is two versions ahead of you.
See the special section for remote jobs in my
Links post.