Это реализовано для того, чтобы была возможность добавлять другие элементы внутри <div> поверх картинки в случае необходимости. Так же в случае недоступности сервера картинки не будет появляться значок ошибки загрузки изображения, как при использовании <img>. Ну и немного сократится количество прописанных классов в CSS.
Так же в случае недоступности сервера картинки не будет появляться значок ошибки загрузки изображения
Для это есть атрибут alt.
Это реализовано для того, чтобы была возможность добавлять другие элементы внутри поверх картинки в случае необходимости.
Можно также с img сделать. Абсолютное позиционирование никто не отменял.