О Боже... раз вы не понимаете, зачем true и false...
Ну да ладно.
true и false - это два из возможных значений переменной типа boolean (логическая переменная).
Чтобы понять, зачем они нужны, нужно изучить законы логики.
Например один из них - комутативность (пусть а и b - boolean):
a or b = b or a
погуглите по этой теме.
Применение? Ну, например установка некого флага, в зависимости от значения которого программа будет выполнять какие-то действия.
Предположим мы вводим с клавиатуры неск. чисел. Есть функция сортировки численного массива.
program gg;
var mas:array[1..100] of integer;
i:integer;
flag:boolean;
procedure sort;
begin
{ сортируем ... }
end;
begin
for i:= 1 to 10 do
readln (mas[i]);
writeln('Отсортировать?');
readln(flag);
if flag = true then sort
else exit;
end.
После ввода чисел идет запрос к пользователю. Если он введет true (или 1), тогда массив будет отсортирован, иначе - будет совершен выход из программы.
Ну это так... довольно абстрактный пример. Применение логические операции находят всюду - без них немыслимо программирование.