Diferencia clave: la etiqueta crea un salto de línea y, de forma predeterminada, crea una división entre el texto que aparece después de la etiqueta como comenzó y hasta que la etiqueta termina con. La etiqueta no crea un salto de línea similar a una etiqueta, sino que le permite al usuario separar elementos de otros elementos a su alrededor en una página dentro de la misma línea.

La etiqueta es un elemento de nivel de bloque, mientras que es un elemento en línea. Estos dos a menudo se usan cuando se intenta controlar diferentes aspectos de una página web, incluidas imágenes, texto, etc.
La etiqueta crea un salto de línea y, de forma predeterminada, crea una división entre el texto que aparece después de la etiqueta como se inició y hasta que la etiqueta termina con. Crea cajas separadas o contenedores especiales para todos los demás elementos, texto e imágenes que se colocan dentro de este texto. Estas etiquetas suelen ser independientes y no deben utilizarse con las etiquetas (párrafo).

Comparación entre div y span en html:
etiqueta div | etiqueta span | |
Tipo de elemento | Elemento de nivel de bloque | Elemento en linea |
Empieza | En una nueva pagina | No es necesario comenzar en una nueva línea. |
Espacio | Toma el ancho total disponible | Toma el ancho que sea necesario |
Otros ejemplos | - | |
Usado como | Un contenedor para otros elementos HTML. | Un contenedor para algún texto. |
Atributos | No se requieren atributos, pero el estilo y la clase son comunes | No se requieren atributos, pero el estilo y la clase son comunes |
Cuando se usa con CSS | Se puede utilizar para estilizar bloques de contenido. | Se puede utilizar para estilizar partes del texto. |
Cortesía de imagen: html-5-tutorial.com, safeschoolbexley.co.uk