Ln - это от line
То есть при write/writeln в первом случае на следующую строку не переходит, а во втором - переходит. Со вводм что-то похожее. Например
for i := 1 to 10 do read (a);
10 раз идет read. Можно ввести сразу 10 чисел, они сохранятся, и после уже не будет требовать вводить еще 9 раз, а возьмет из буфера. А при readln - нифига подобного. Буфер будет очищаться и придется каждый раз вводить заново.
Еще readln без параметров часто используется для ожидания любой клавиши, а writeln - для простого перевода на новую строку, что не проходит с read и write.