При первом прохождении цикла LowestPrice имеет значение null (мне не нравится это предположение, но именно так и написан код), поэтому для LowestPrice устанавливается первая запись в массиве leadPrice. Каждый последующий раз в цикле for LowestPrice сравнивается со следующей записью в массиве leadPrice. Если новая запись ниже, то LowestPrice обновляется до новой. Если нет, он остается текущим. После полной поездки по всему массиву вы гарантированно получите самую низкую цену.
Более краткий способ сформулировать это: вы предполагаете, что первая запись самая низкая, а затем читаете весь массив в поисках более низких цен. Каждый раз, когда вы его находите, вы заменяете своего текущего низшего кандидата.