I’m sure that any etiquette book will give you an answer, but I’m going to ignore that sort of answer and look for a more practical, logical one.
To start off, let’s look at three possibilities that cover everything: Either you can be early, or you can be on time, or you can be late. First, let’s look at this question: If you only had the choice of showing up early or late, which would you choose? I think that most people would choose to be late. If you’re early, you might catch the host/hostess still getting ready, it’s awkward with no-one else there, and so on. So, late it is.
Now, let’s examine whether to show up on time or to show up late. Problem is, unless you live next door to the party, it just isn’t possible to show up on time. Whether you drive, take a taxi or public transportation, get picked up by someone, or whatever, there’s enough unpredictability to ensure that you’re either going to get there a few minutes early or a few minutes late. But, wait a minute. We didn’t want to show up early, remember? So, faced with this unpredictability, I think that a lot of people, perhaps unconsciously, choose to leave at a time that, at best, they’re there on time. Most likely, they’re a few minutes late.
So, it’s not that people who arrive “fashionably late” are just sitting around twiddling their thumbs waiting for the right time to leave for them to be 15 minutes late or whatever they might be aiming for. Rather, these people are trying to be on time without being early, and, the world being as unpredictable as it is, this means that they’ll usually be late.