По-идее, цикл с параметрами это частный случай цикла с предусловием, во всяком случае, по программной реализации этой конструкции. Различие только в способе записи условия.
Например, эти две конструкции делают одно и то же:
Код:
n:=10;
counter:=0;
summa:=0;
while counter>n do
begin
inc(summa,counter);
inc(counter);
end;
Код:
n:=10;
summa:=0;
for counter:=0 to n do
inc(summa,counter);
В обоих случаях подсчитывается сумма целых чисел от 0 до 10.
А когда именно нужно использовать тот или иной вид цикла - решать только вам. Могу посоветовать почаще использовать цикл с предусловием, это приучит вас к аккуратности и внимательности при программировании.