geckodriver と marionette の違いがよくわかりません。
たとえば、Selenium WebDriverを使用してFirefoxブラウザーを制御する場合、Seleniumから WebDriverプロトコル をリッスンするためにgeckodriverバイナリが必要です。
SeleniumはW3CWebdriverプロトコルを使用してGeckodriverにリクエストを送信し、Geckodriverはリクエストを変換し、Marionetteプロトコルを使用してFirefoxに送信します。
Selenium <-(W3C Webdriver)-> Geckodriver <---(Marionette)---> Firefox