I work from home 100% of the time, and have done so for the past 15 years. I've been quite successful in that mode. Prior to that, I'd worked in numerous office settings for F50 clients.
The biggest challenge for me is maintaining "Work-Life Separation". There is a tendency to put in MUCH longer hours. I don't think I've ever NOT put in at least a 10 hour day. I know people who habitually put in even more.
I take draconian measures to ensure I maintain separation of Work vs Life. I designed the house that I live in, and I have an office that's totally separate from the rest of the house (it's on the far side of the garage, and is VERY nice). That's where I go when I "go to work".
We don't have children, and I don't have any other distractions here. I schedule myself "Out of Office" during lunchtime, and also after normal hours, and I leave my work phone on my desk when the work day is done. I do not take "work" back into the house with me, and I am absolutely not available on weekends or when on the rare vacation. I do not give out my personal phone number to anyone at work (a lesson I learned the hard way, btw).
Notably, my spouse - who commutes to an office - often brings work home. Very often.
Knowing what I know now, I would never work for a company that made me go into an office. I get so much more done when I have peace-and-quiet, versus all the noises and distractions that an office setting brings. What really started me thinking about this was a situation years ago, back when I was working in an office. I'd discovered that if I *really* needed to get something done, I was more effective if I brought it home and worked on it there and "got it done".
There's also the trade of sitting in traffic for 2 hours every day for 2 hours of "extra work" that I am able to put in every day. If they ever made me go back into an office, that's 2 hours (at least) of productivity every day that they'd lose right off the top.
Work From Home works for me. I wouldn't want it any other way.