By the end of the 90s both Microsoft and Netscape had kind of given up on browser engines being performant and relegated complex/demanding UIs to native plug-ins. Anyone not wanting to use plug-ins (Java included) to make a web app had to use frame-based SSR which was very tricky to get right. Even when the design and implementation were good performance of the browser sucked.
Firefox doubled down on performance of the rendering and JavaScript engines. Combined with XHR it was actually possible to make good web apps without using plug-ins of frame-y kludges. By not supporting ActiveX Firefox was also immune to whole classes of exploits ravaging IE at the time.
Firefox breaking IE's hold on the web set the foundation for the rise of Chrome. Breaking IE's hold on the web meant at release WebKit on iOS and Android was a useful browser engine that could handle real websites rather than a bunch of broken plug-in icons or being limited to WAP/"Lite" sites like all previous mobile devices.
A web requiring IE-only technologies like ActiveX and VBScript was never going to be accessible to mobile devices or non-Windows platforms.
Gecko may indeed be the reason why it didn't happen. Supposedly, it is an engine with a lot of baggage and hard to work with, which is the reason why there are so many KHTML/Webkit/Chromium/... based browsers and components and so few based on Gecko. Google wanted a fast browser to support their webapp ecosystem, they found it was better to use Webkit as a base. Firefox eventually caught up, but it took many years, and we still don't have an easily integrated Gecko-based engine.