I grew up in the heyday of peer-to-peer file sharing, and I first heard a lot of the bands I love now through mp3s shared by friends, pen pals, and generous strangers. Wherever they came from, most of those mp3s were labeled in the “artist - song” format, and if they weren’t I changed them to match. I think a lot of people did the same.
I can think of a few things that might’ve given the hyphen an edge over the dashes in the second half of the 1990s, when the “artist - song” format evolved.
- Like joojaa says, I’ve never seen a physical keyboard with a dash on it.
- In 1995, if you’d asked me to enter a character that wasn't on the keyboard, I would’ve had to open a virtual keyboard and hunt around for it. In a word processor, I would've gone to the special character palette. If there was a better way, I sure didn't know it.
- As a result, I wasn’t even aware that Windows 95 filenames could have things like dashes in them. (They could, though! The long filename system that made “artist - song” possible for Windows users included full UTF-16 support.)
- Mac OS filenames couldn’t have dashes until 1998, when Mac OS 8.1 introduced an extended file system with UTF-16 support.
Regardless of the reasons it evolved, I’d guess that “artist - song” has endured as a tradition, just like ligatures endured long after the scribes gave way to movable type. “Artist – song” looks as wrong to me as a capitalized text message—as wrong as “archæology” without the æ might’ve looked a hundred years ago. Our conventions of correct typography are constrained by technology and shaped by readability, but they’re maintained by tradition. That means you’ll occasionally run into conventions that clash with yours, but made more sense in another time and place. In the wild new world of the 2020s, where song labels are more often YouTube video titles than mp3 filenames, and phone and tablet keyboards are putting dashes at everyone's fingertips, maybe “artist – song” is on its way in.