I don't disagree with you, but I think we've come to expect too much from software updates at the same time. For example, security updates and performance improvements are often touted as the reason we should get software updates more often. However no one expects say apple to replace the processor in your laptop when a new one comes out.
Software costs money to develop, most users don't care enough to pay for software updates (would your "mom" pay $20 to have JDK 8 support?) and unless the update enables a feature the vendor expects you to pay for (say, iCloud or Google Drive) no one is incentivized to provide timely updates.
On the flip side, software updates allow vendors to differentiate their new phones (yeah they both have A123 processors, but this phone has snapMessage *due to the new update)
I think the only other alternative is fully open source phones, which exist, but in terms of updates they're not any better