Когда следует использовать запрос, а когда метод Остатки() для получения остатков регистра накопления?

Использование того или иного способа получения остатков зависит от контекста конкретной задачи, решаемой разработчиком.

С точки зрения производительности оба способа практически одинаковы. Система в обоих случаях использует один и тот же механизм обращения к записям и итогам регистров. Отличие состоит лишь в том, что запрос предоставляет разработчику гораздо больше возможностей для фильтрации данных, их группировки и т.д. Кроме того, запросы позволяют устанавливать блокировку считываемых данных на чтение их в других сеансах, что позволяет уменьшить вероятность возникновения конфликта блокировок данных. Также запросы позволяют использовать один из двух режимов получения данных при использовании ограничений доступа на уровне записей и полей базы данных (ключевое слово РАЗРЕШЕННЫЕ), в то время как при работе в объектной технике операции над объектами встроенного языка 1С:Предприятия выполняются в режиме "ВСЕ" (без использования режима "РАЗРЕШЕННЫЕ").

Таким образом, при выборе того или иного способа получения остатков следует исходить из следующих критериев:

Например,  если в обработке проведения документа необходимо получать текущие остатки регистров, которые не будут изменяться при проведении документа или если в форме нужно показать остатки выбранного товара – вполне возможно, что достаточно будет краткой записи обращения к регистрам при помощи метода Остатки().

Если же предполагается, что регистры, по которым анализируются остатки в обработке проведения документа, будут изменены в процессе проведения документа, или требуется сложная фильтрация и группировка данных для получения остатков – предпочтительнее использовать запрос.