div - блочный элемент, занимающий всю доступную ширину и начинающийся с новой строки. Используется для группировки больших разделов контента.
span - строчный элемент, занимающий только необходимое пространство и не начинающийся с новой строки. Используется для форматирования или стилизации части текста или inline-элементов.