I actually feel for these companies. I think the problem is that it isn't easy to satisfy a broad continuum of demographics with one item. And now that older (ahem!) women like me (51) are dressing fabber, brand crossover is typical.
Just yesterday, I bought a long striped tunic-y t-shirt at Brandy Melville -- a low-fashion purchase for sure ($20) but exactly what I wanted. The point is, my daughters shop at that store (19 and 23) as does my neice (age 13!). In fact, on this forum, women of all ages talk about shopping at F21, Topshop, AND Nordstrom.
JCrew sells to girls in high school and college, as well as to women in their 50s and 60s. That's why their dresses are not knee-length and longer. (I don't think it has to do with how tall they think people are -- I think they are trying to remain relevant to younger shoppers.)
Personally I wish they had separate line that was a bit more sophisticated, but as long as they keep catering to everyone, we'll keep seeing dresses and skirts that err on the shorter side, I'm afraid.
PS Karie, to me that dress doesn't seem short, but it may be our different tastes or the camera angle. Gorgeous print!