Red Sox manager John Farrell has already made it clear that Castillo was sent down in order to receive regular at-bats, which he wouldn't have at the major league level with Shane Victorino starting in right field for the foreseeable future. Castillo only received 29 plate appearances in Spring Training, hitting over .300 with 2 homers, as the Sox were evaluating a great number of outfielders this spring. Were Victorino not healthy, Castillo would easily be in the big leagues to start the year. While it seems strange to send down someone due about $!0 million this year, to keep him on the roster would require an injury to one of the three outfield starters or jettisoning Craig or Nava.
Bradley was an easier decision, despite his incredible spring training, hitting .378/.462/.444 playing his usual stellar defense. But as the competition is much lighter in spring training, those stats can be deceiving. Bradley hasn't proven that he can hit at the big league level in almost a full season's worth of games. Even though his defense basically can carry a poor bat, even with his Gold Glove caliber defense, he's barely been worth over replacement level according to FanGraphs. He'll need a strong offensive showing at AAA Pawtucket and an injury or trade to open up a position on the major league level.
Castillo had a fine start to his Major League career at the end of 2014. Both the Steamer and ZiPS projection systems see Castillo as an above-average regular. Steamer has him being worth 1..7 Wins Above Replacement in only 93 games. and ZiPS has him at 2.6 WAR in 142 games. Neither see him putting up big offensive numbers, but providing above-average defense and baserunning. Castillo seems to have the talent to out-perform those projections, but even if he doesn't, he was well worth the contract that the Red Sox gave to him.
The Sox have enviable outfield depth, and at this time, while a trade of someone seems imminent, Victorino's health is still a major question mark. Also while Betts hasn't shown any signs of a sophomore slump, it conceivably could happen - however unlikely. Nava or Craig may also prove ineffective or suddenly go on a tear facilitating a trade for a decent prospect that the Red Sox may not be able to refuse. The Sox made the only decisions that they could at the time being, as having depth is better than having none. Boston learned that the hard way last year and they are trying to be sure not to repeat that mistake.