Sim, é uma boa ideia fechar os descritores de arquivos assim que você não precisar mais deles, apenas para liberar os recursos associados e evitar atingir limites.
Agora, alguns descritores de arquivos podem estar abertos por meio de algumas APIs, e você deve usar essa mesma API para fechá-las (não usar a chamada de sistema close(2) ).
Uma API típica é stdio em C (todos os fopen , printf , fputs ...). Por exemplo, se um arquivo foi aberto com fopen(3) (que retorna um tipo de dados FILE* , não um descritor de arquivo, mas terá criado um fd abaixo), você deverá fechar se com fclose(thatFILE) (que irá liberar todos os buffers), não close(fileno(thatFILE)) , o que fecharia o fd sob os pés do estúdio.