This happens to me a lot. Could be a few hours early, a few days early, or could also be a few days late. My company doesn't usually book flexible tickets and we do spend a lot of money in change fees but probably still less in the long run than buying every ticket as flexible, as most trips do start and finish as planned.
I handle each schedule change on a case-by-case basis. I do try to do what's best for the company---- if it's cheaper to change the ticket and go home, I will. Given how expensive that can be, though, I often end up staying the extra day or two; one night of hotel is often cheaper than the change fee and fare difference. I will factor in my upgrade status if it's a longer flight--- love my boss, really, but won't give up a confirmed F upgrade on a transcon to ride home a day early in seat 38B--- and my oveall burnout status--- if I really need that extra day at home, I'll suffer the less-than-stellar seat and find a way to justify the costs.
If I stick around, I'll either work remotely from the hotel or see if I can find another customer to visit or do something to earn my board and keep, unless I've worked a brutal schedule, in which case I'll go enjoy whatever city it is. I'm very lucky that I have the flexibility and the power to use my judgement on stuff like this, and if I know I'm going to have a brutal schedule and it's a city I like, I'll even build an extra day or two onto the trip, covering the hotel and meals, etc, from my own pocket, and take the day off and play tourist