Hola:
Básicamente se diferencian en la utilidad... div es la etiqueta genérica de elementos de bloque y span es genérico para elementos en línea... La verdad es que no se me ocurren ejemplos de elementos de bloque (center que está desaprobada... form, pero es insustituible... table/ol/ul/dl...
) los elementos de línea son sobre todo los que están dentro de párrafos... cite, b, i, u, strong...
Fuera de la utilidad (semánticamente muy importante), un div con el estilo display:inline se comporta igual que un span... y un span con style:block como un span...)
Espero que te sirva.
Saludos :arriba.