Já existem muitas respostas boas para isso que se resumem a "Depende da circunstância", e não posso acrescentar nada a elas.
Uma coisa que não foi mencionada, no entanto, que acho que precisa ser mencionada, é que você nunca deve reutilizar chaves primárias que foram geradas por uma sequência ou um sistema AUTO_INCREMENT.
Quando você exclui um item que recebeu uma chave primária atribuída por esse sistema, haverá lacunas na coluna da chave primária, deixadas pelos dados excluídos. Há uma grande tentação de reatribuir essas lacunas a novos itens à medida que são adicionadas, ou pior ainda, de embaralhar os dados existentes para fornecer um novo ID para remover as lacunas, mas isso causará problemas que você nunca terá que lidar se você apenas deixar as chaves em paz.
Digamos que você esteja mantendo um banco de dados de impressoras para gerenciar os pedidos de novos itens. A impressora 13, uma antiga impressora a laser, quebra além do reparo econômico, para que você a jogue fora. Enquanto isso, por um motivo não relacionado, alguém solicita uma nova impressora térmica para impressão de código de barras no armazém, e essa impressora chega antes da substituição da impressora 13. O administrador registra essa nova impressora no banco de dados e, porque 13 agora está livre e você estiver reciclando IDs, a nova impressora térmica será alocada 13 como seu ID.
Agora, alguém lhe diz que a impressora 13 está quase sem tinta. Você se lembra de que a impressora 13 é uma impressora a laser, portanto não precisa procurar no banco de dados e faz um pedido de um cartucho de toner. Somente você realmente precisava solicitar um pacote de tinta térmica, porque a impressora 13 não é mais uma impressora a laser. Quando o cartucho de toner chega, você não pode usá-lo porque é um refil de tinta errado para a impressora, não pode imprimir mais códigos de barras e não pode enviar pedidos que aguardam o envio.
Pior ainda, o que acontece se você excluir a impressora 13 e embaralhar todas as impressoras que vêm depois para preencher a lacuna? A impressora 14 (algumas matrizes decrépitas de pontos antigos) se torna a impressora 13, a impressora 15 se torna a impressora 14 e assim por diante.
Todas as impressoras têm etiquetas nelas, para que possam fazer referência cruzada com o banco de dados, mas agora todas as etiquetas estão desatualizadas. Você terá que procurar, localizar todas as impressoras da empresa (que podem chegar a centenas!) E rotulá-las novamente. Isso dificilmente é um uso eficaz do tempo. E também é um processo propenso a erros, e o que acontece se ele simplesmente nunca é feito? Alguém telefona para dizer que a impressora 14 quebrou e precisa ser consertada com urgência, então você procura e descobre que a impressora 14 é uma impressora a jato de tinta na Recepção. Somente porque você embaralhou os IDs, na verdade, é a impressora matricial que precisa ser reparada com urgência. O cara que ligou para o problema ficou parado, enquanto a recepcionista tinha um suporte técnico que ela nunca ligou para consertar uma impressora que não estava quebrada.
Você deve considerar os IDs atribuídos por um sistema de incremento automático como permanentes, imutáveis e não podem ser reutilizados, mesmo que o item ao qual o ID se refere cesse de existir. Algumas pessoas afirmam que não querem se preocupar com o esgotamento dos IDs, mas mesmo com sistemas de 32 bits e IDs assinados, ainda existem 2 bilhões de IDs disponíveis. Se você pode deixar a coluna de ID sem sinal, isso dobra para 4 bilhões e, em sistemas de 64 bits, o número de IDs disponíveis é literalmente maior que o número de estrelas no céu. Você não vai ficar sem IDs.