Зачем нужны деревья выражений?
Начинающему углубляться точно не нужно. Ознакомится что это такое и попробовать понять всегда хорошо.
Используются самой средой для построения LINQ выражений. На практике для построения лямбда-выражений. Вот  неплохая статья на эту тему.
Начинающему программисту в какой области? Если веб, то думаю не стоит сильно углубляться, по крайней мере это будет не срочно. А вот если область пересекается с трансляцией, например, из того же Linq во что-то другое, например, в SQL запрос, то думаю стоит ознакомиться.