У Microsoft и Apple причины разные, тут нет единого заговора против девятки.
Windows 9 и легаси-код. Самая известная версия: в огромном количестве старого софта (Java-приложения, корпоративные утилиты 2000-х) проверка версии Windows выглядела как if (version.startsWith("Windows 9")), подразумевая Windows 95 и Windows 98. Если бы Microsoft назвала новую систему Windows 9, тысячи программ приняли бы ее за Win95/98 и начали бы работать в режиме совместимости, либо отказывались запускаться.
Это не городская легенда. Разработчики находили такие проверки в реальных кодовых базах. На StackOverflow и GitHub можно найти примеры подобных строк. Microsoft никогда не подтвердила это официально, но и не опровергла.
iPhone 9. Тут проще. 2017 год, десятилетие iPhone. Apple хотела юбилейную модель и перепрыгнула на X (десять). Чистый маркетинг: "десять лет - десятый айфон". Плюс римская X выглядит премиально. iPhone 8 и iPhone X вышли одновременно, это были два разных продуктовых сегмента.
Samsung Galaxy S9 существует, так что Samsung как раз ничего не пропускала. Они перепрыгнули с S10 на S20, но к девятке претензий не было.
Итого: каждый случай отдельный, общего "проклятия девятки" нет.
Про startsWith("Windows 9") прям вау, не думал что настолько тупо. Спасибо за разбор!