Probably because he's the best the they can do.
Personally, a guy who struck out 169 times last season with an on-base percentage of .298 is not someone I'd look forward to signing, because I think the numbers would suggest that he'll play to this pattern for the rest of his career. And while wags might offer the Upton would be a great fit for the Phillies because of those numbers, he's precisely not what they need.
What they seem to need are more on-base percentage guys, guys with OBPs more like Chase Utley and Carlos Ruiz. Their Achilles' heel, at times, has been guys who strike out too much, who don't walk enough, and who fill up the base paths too infrequently, thereby creating additional pressure for the three-run homer. Look, a lot has gone right for the Phillies since 2007, but given the lightning they caught in a bottle in 2008, we all would have thought that it would have been they or the Yankees with two world championships since then, and not the San Francisco Giants.
There has been a lot to cheer for in Philadelphia over the past five years, but the knowledge of the strike zone has decreased over that time period, or at least so it seems. B.J. Upton has a lot of good aspects, too, and he'd help the team get somewhat younger, but there has been something missing from the team's offense, and his skill set wouldn't seem to be the one to fill it.