A few things about Beltre and why he left:
1. Beltre came to the Sox on a one-year deal for the 2011 season to resurrect his career; as I recall, he was coming off an injury and took a substantial pay cut (25-30%) from his previous contract with the Mariners. He had every intent of going free agent after that season.
2. His agent was Scott Boras, so resigning him was not going to be easy.
3. While he performed well here, I'm not sure he liked playing in Boston; he really wanted to play on the west cost and settled on the Rangers.
4. They had Will Middlebrooks ready from the minors, and he (Middlebrooks) performed pretty well for the half season he played (OPS of .835, 15 homers and 54 RBIs in 75 games). Unfortunately, that was the highwater mark of his career, but at the time he represented big power at a very low cost.
And the biggest reason of all:
5. The Sox had a money crunch. 2012 was the year Adrian Gonzalez's contract escalated from around $6 million to over $20 million. The Sox also resigned David Ortiz that same season. Lackey and Beckett were in the middle of large contracts and they had a lot of $ tied up in Carl Crawford.