Why is Unity the most popular engine?

Around 2010, when Unity started gaining traction, the only real alternative to it was Epic’s UDK. UDK was basically a fork of Unreal Tournament 3 ; there was some middleware and tools upgrades over UT3’s modding SDK, but having used both, it was still limited in scope - nothing near what UE4 is today. The licensing terms made it impossible for indie or amateurs to work with - 25% of gross revenue, almost as much as a digital retailer would make. Epic was mostly focusing on big-time developers at the time. So Unity became the engine of the indie wave, while the recent UE4 still carries the reputation of UDK - hard, poorly documented, dedicated to shooters, etc.

Aside from history, Unity is still leading in terms of platform support, the JS/C# combination seems more attractive to indies than the C++/Blueprint combination, Unity runs on lower hardware, etc.