Caio, a tag section define uma seção no documento, como um capítulo, um cabeçalho, um rodapé ou qualquer outra seção do documento. Ela serve apenas para colocar texto.
A tag div é um container para outras tags. Assim, usamos uma div para definir um bloco de código que queremos manipulá-lo em conjunto. Você pode criar uma div e preenchê-la apenas com o content(conteúdo) do seu site. Pode criar uma div e colocar o menu dentro. Pode usar uma div para fazer o layout do site. Ou seja, pode usar uma div como section também, mas a div é mais abrangente, além de ser um container para outras tags. Seu uso mais comum, como falei, é na estruturação e divisão do código HTML na página.
Algo assim:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<div class="menu" id="menu">
<ul>
<li>Home</li>
<li>Matérias</li>
<li>Sobre</li>
</ul>
</div>
<div class="conteudo" id="conteudo">
<section>Seção 1</section>
<section>Seção 2 - Texto da página</section>
<section><p>Seção 3<p></section>
</div>
<div class="rodape" id="rodape">
<p>Todos os direitos reservados</p>
</div>
</body>
</html>
Dentro da tag section você pode colocar algumas tags de marcação de texto, como h1, p, etc, mas não pode estruturar sua página como quando usa uma div, definindo áreas dentro da página que conterão blocos de código.
Espero ter ajudado.
Abraço.