Pros
I was brought on with a specific purpose in mind, and they actually fulfilled those promises, utilizing my experience and capabilities. I was given room to make broad changes to legacy code if I could demonstrate that it worked, preparing a poorly designed foundation for several upgrades to language version, design patterns, etc.
My supervisor recognized the skill of my work, and I felt heard when I made cases for particular strategies, or against others.
Remote work has drawbacks if a company isn't mentally ready to deal with it, but it was a good experience for me more often than not.
Cons
The team / management was not well-equipped to have fully remote workers. I felt disconnected from people, the only communication was Slack, no one ever had cameras on, so I never even saw faces of some people I interacted with every day. The audio chat was used sparingly, so my days were long and silent most of the time.
I was abruptly let go because the company wanted all employees back to in-office full time. I wasn't offered an opportunity to relocate to avoid losing the progress we were making, which indicates how much they value the knowledge and skill of their team.
The insurance offering to out-of-state employees was terrible: I got to see all 3-4 options they offered, but only one was actually available to me, and it was the most expensive with the least coverage.