$cope.context = 'some text';
$scope.master = context;
Thus in the later case, if you we're to change something in
$scope.master you would also change context.
But in $scope.master = angular.copy($scope.context);
angular.copy() performs a deep copy of the argument - essentially creating a new object - whereas using the assignment operator = just assigns reference's.For more details on angular.copy visit Here.