Not bad software, underpowered mobile device CPUs. Mobile CPUs have only started stabilizing around "good enough" around late 2016 and that was for flagships (with Snapdragon 820, basically).
A mid range Android phone CPU will choke quite hard on modern Javascript-heavy web pages. Now think about a low range phone...