Yea, when this topic comes up on HN, a lot of the usual excuses appear: It's hard to write software that works everywhere! It takes too long to test on more than one browser! It's too expensive to hire someone to port to X platform! We're trying to bootstrap in a hurry--there's no time to support Y people! Everybody should just upgrade to the latest, why should we test on older systems?
These are attitudes come from the privilege of never having been in that 2% of users, and I think we have them until that one day we end up being in that 2% and can't use the system ourselves.
When I wrote iOS apps, I was constantly infuriated by the tech lead's and product management's insistence to only support the current major OS version and the previous one. Engineers would take time out of their day to rip out support for iOS X-2 (rather than fixing bugs, working on performance or features)! Code that wasn't in the way of refactors, wasn't really buggy, wasn't harming anything architecturally. To me, it just looked like Griefing The User. I didn't get it and I still don't. Now, I have a 8 year old phone, and lo and behold, half of the apps in the AppStore don't even work on it anymore because of this attitude, so I guess I'm firmly in the 2%.