Когда применяем паттерн Стратегия, а когда Декоратор?
Стратегия = полиморфизм, то есть мы завязаны на некий интерфейс, а какая реализация — нам не важно. Это история про зависимости. Ну например почтальон отдает пенсию бабушкам (любым, какой бабушке именно — зависит от стратегии, КОТОРАЯ НЕ СВЯЗАНА с модификацией конкретной бабушки:)

Декоратор, это про добавить функционал в рамках одного интерфейса, тут вообще не рассматривается вопрос каких-либо отношений (к примеру бабушки и почтальона), тут рассматривается — бабушка в шубе или бабушка с загаром или бабушка на коляске, все та же бабушка, но "обернутая" неким поведением :) Главное что бабушка всегда остается быть той самой для всех  бабушкой. То есть это не противопоставление — ни в начале ни в середине мы не завязываемся на дополнительное поведение бабушки у почтальона. Бабушка и все, а какая именно — зависит от стратегии разноса (например по названию улицы). Если выйдет к нему "декорированная" бабушка-качок — пенсию он даст ей также, как и не качку, тк она для него всего лишь некий субъект/абстракция, главное чтобы возраст и ФИО сошлись.

Соответственно это никак не похожие паттерны, один поведенческий, другой структурный... Они применяются всегда в любой этап разработки. Я в самом начале могу сделать декоратор обычной бабушки в виде поющей бабушки, а почтальона или внука в виде стратегии написать потом. А могу наоборот — сначала научить возить бабушек на  трамвае (через стратегию), а бабушек с костылями (декоратор) добавить позже...

Кое-где не корректные аналогии, и в аналогии стратегия  есть бабушка, но в целом для понимания норм и не критично :)
1. Стратегия. 
Одно и тоже приложение использует одинаковые библиотеки, но в зависимости от использования имеет разный функционал.
Пример: ffmpeg и ffplayer - имеют ~один исходный код, при компиляции получается отдельно плеер, отдельно конвертер.

2. Декоратор.
Поведение родительского объекта обогащается, не изменяя основной функционал.
Например : button и switch в html .