Expression tree предоставляет возможность составлять выражение во время выполнения программы. Самый простой пример использования - в Entity Framework при вычитывании из базы. Условия могут быть очень разными. Например, у тебя интернет-магазин из которого нужно вычитать товары. Пользователь может захотеть фильтровать товары по типу, дате изготовления и т. п.