Хочу разобраться в тонкостях pageObject. А конкретно в построении chains

Проблема (Вопрос) заключается …Хочу писать красивые и понятные тесты

Не совсем понимаю, как работает подход chains.

У меня получилось выполнять действия на странице путем возвращения экземпляра класса так и обычным методом, который обращается к вебэлементу и производит click().

У меня не получилось понять, в чем принципиальная разница между этим:

public AutorizationPage clickSubmit() {
        Allure.step("Клик по клавише Login (Submit)");
        getWait2().until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='login-button']"))).click();
        return this;
    }

и этим:

public void clickSubmit() {
        Allure.step("Клик по клавише Login (Submit)");
        getWait2().until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='login-button']"))).click();
    }

И то и другое работает. Имеет ли значение, что например последнее действие на странице должно работать именно первым способом, когда открывается новая страница или выпадающее меню?

Работать будут оба варианта. Разница лишь в том, что 1-й возвращает объект, 2-й - нет.
Если операция clickSubmit - терминальная (т.е., после неё не планируется других действий) - можно использовать оба подхода. Если нет - используйте 1-й.
Разница будет видна, например, если выполнить вот такой код:

new AuthorizationPage(getDriver).
inputLogin().
inputPassword().
.clickSubmit().
doSmthElse()

В этом случае подход с void не сработает