Edit in JSFiddle

/* Что происходит без вызова $apply() */
    
angular.module('myApp',[]).controller('MessageController', function($scope) {
	$scope.getMessage = function() {
		setTimeout(function() {
			$scope.message = 'Получено через 2 секунды'; 
			console.log('Сообщение: ' + $scope.message);
		}, 2000);
	};
      
	$scope.getMessage();
});
<body ng-app="myApp">
    <div ng-controller="MessageController">
        Отложенное сообщение: {{message}}
    </div>  
</body>