Пара begin / end называется "составной оператор" и используется везде, где надо вставить несколько операторов в тех местах, где синтаксис языка допускает наличие строго одного оператора: после then, else, do и т. д. Разный синтаксис вариантов "один оператор" и "несколько операторов" - это общий недостаток ранних языков как с Algol-подобным, так и с C-подобным синтаксисами. В Pascal точка с запятой - разделитель операторов. Потому перед end точка с запятой не нужна.