Vc pode começar dando uma olhada na documentação: aqui e aqui.
Mas de forma resumida, div
é um "container genérico". A princípio, serve para agrupar outros elementos, sem efeito direto no layout - a não ser que vc estilize-o com CSS. A ideia geral é agrupar conteúdo, facilitando a estilização.
Devido à sua natureza mais "genérica", percebo que acaba ocorrendo um certo abuso de div
. Principalmente hoje em dia, já que existem elementos que podem ser semanticamente mais adequados para cada situação, como por exemplo o article
, nav
, entre outros - inclusive o primeiro link da documentação indicado acima recomenda que o div
seja a última opção, já que os outros elementos podem ser mais adequados para cada caso.