Когда этому правилу можно удовлетворить, это надо делать. Бывают, однако, случаи, когда удовлетворить ему невозможно и приходится выбирать меньшее из зол. Характерный пример -- схема рифмовки АБАВБВ. Если в первой строке В выбрать окончание, отличающееся от окончания А, то во второй половине строфы получится стяжение трех строк с одинаковым типом окончания (не говоря уже о потере симметрии). Сонетник пытается в таких трудных случаях найти оптимальный вариант, так что обращайте внимание на его предупреждения, но в конечном счете доверяйтесь собственному суждению.
Сейчас точный алгоритм в скрипте такой: если строчка не рифмуется с предыдущей, то ее длина должна отличаться. Однако если текущая строка не рифмуется ни с последующей, ни с двумя предыдущими, а две предыдущие имеют разную длину и не рифмуются друг с другом, то текущая должна быть такой же длины, как предыдущая. Правило эмпирическое; если найдете случаи, где оно не работает, напишите мне. - М