Based on conversations with people who know him or have followed him closely, I believe Roberts did not want the court to be in the position of overturning a major law passed by Congress. He instinctively understands that this would be seen as a blatantly partisan act by a court already suspected of political motives. And so he groped his way toward a narrow ruling that would preserve the health-care law without breaking major legal ground.
If a justice on the Supreme Court takes the view that he shouldn’t rock the boat, then on what basis does he serve? The Court is supposed to protect rights in the face of congressional and presidential overreach. If it is unwilling to do so, then there is little use for it as the final arbiter of constitutional disputes.