Разница конечно же есть, и значительная. Extends расширяет существующий шаблон, а include добавляет в нужное место кусок шаблона.
Представим ситуацию с достаточно большим шаблоном, где нужно поменять только часть страницы. Базовый шаблон выглядит примерно так
<!-- parent -->
{%block заголовок%}
{%block левый_блок%}
{%block правый_блок%}
{%block тело%}
{%block подвал%}
Если наследоваться от этого шаблона, то получится примерно так
<!-- chlid -->
{% extends parent %}
{%block левый_блок %}
{%block тело %}
В противном случае нам пришлось бы инклюдами подключать все остальные блоки.