You can use templates in TEMPLATE_DIRS to override templates coming from applications (by giving them the same name) or for templates that are related to several applications (base.html comes to mind).
This works because of the order in which templates are loaded in TEMPLATE_LOADERS (file system before app_directories).
, :
<project>/
<app1>/templates/<app1>/
foo.html
bar.html
<app2>/templates/<app2>/
foo.html
templates/
<app1>/
foo.html
base.html
xyzzy.html