Um 'aplicativo' pode ser muitas coisas diferentes, tudo realmente se resume a gosto. Por exemplo, digamos que você esteja construindo um blog. Seu aplicativo pode ser o blog inteiro ou você pode ter um aplicativo 'admin', um aplicativo 'site' para todas as visualizações públicas, um aplicativo 'rss', um aplicativo de 'serviços' para que os desenvolvedores possam interagir com o blog em seus próprios caminhos, etc.
Eu, pessoalmente, faria do próprio blog o aplicativo e revelaria a funcionalidade dentro dele. O blog pode então ser reutilizado facilmente em outros sites.
O bom do Django é que ele reconhecerá qualquer arquivo models.py em qualquer nível de sua árvore de diretórios como um arquivo contendo modelos Django. Portanto, dividir sua funcionalidade em 'subaplicativos' menores dentro de um 'aplicativo' em si não tornará nada mais difícil.