Иконки - крайне желательно.
С фотографиями вопрос спорный, поскольку уже давно неактуальна практика подгонять размер картинки пиксель-в-пиксель под её место на сайте. Когда-то в незапамятные так делали и тому был ряд причин:
- популярность фиксированной и "полуфиксированной" верстки;
- очень строгая экономия трафика;
- некачественные алгоритмы масштабирования в браузерах.
Сейчас должно тянуться (почти) всё и всегда, поэтому зачастую фотографии просто берутся несколько больше, чем нужно (в разумных пределах, конечно), чтобы запас по разрешению покрывал растяжение на большие экраны и ретину.
Но вообще, если заморочиться и через srcset/picture сделать 2-3 версии картинок разного размера - это будет хорошо. Но гемору больше. И выбирать размеры нужно вдумчиво, а то иногда можно получить обратный эффект - траф будет не экономиться, а тратиться наоборот больше.