Добрый день!
Вы можете хорошо знать язык программирования - но без знания алгоритмов и СД напишите громоздкое приложение, либо какой-то модуль, который будет мало эффективен.
К примеру по поиску информации среди большого количества данных, либо работая с памятью.
Зная только алгоритмы и СД - вы сможете найти более оптимальный вариант для решения поставленной перед вами задачи. Но выбрав не тот язык программирования, вы либо в будущем столкнетесь с какими-либо ограничениями с его стороны, либо придет понимание что он для новых целей вообще больше не подходит и необходимо переписывать на более подходящий.
Еще стоит учитывать сложность проекта:
По своей практике могу отметить, что даже если не будете изучать на текущем этапе алгоритмы и СД, то со временем все равно их изучите, постепенно, во время работы над проектами. Пройдете примерно такое развитие, как указано в предыдущих 3-ех пунктах.
Поэтому то и другое имеет значение и все этом лучше рассматривать в комплексе.