It had to be rewritten. Essentially there was no formal interface between the frontend and Gecko, and it had turned into a sluggish hairball of a monolith. We redesigned Gecko on Android to be embeddable (GeckoView[1]) and so a new frontend had to be written. That part was absolutely necessary.
The rest of the debate is just about the UX, really.
[1] https://geckoview.dev