Раз уж вспомнили про флеш.
(Хитро щурясь, засмаливая папироску и поглаживая окладистую бороду)
Дело-то было в бородатые времена, когда я работал ещё в X, Internet Explorer 6 ещё был куда как в моде, и никакого интересного интерфейсу на ём сделать было решительно нельзя: куда ему там до современного CSS3, он даже с блочной моделью был не в ладах: чуть пёрднешь, и всё развалится. В то же время просмотр сайтов с мобилок в моду ещё не вошёл, а потому можно было себе это позволить. В-общем, промышляли мы тогда тем, что делали кое-какие элементы интерфейса на флеше.
Запомнился мне случай: стояла задача сделать на флеше некоторое подобие меню, чтобы флеш подгружал xml'ину из сети (в отличие от JSON на XML во флеше есть родной парсер), в которой была информация о пунктах меню, парсил её и формировал, собственно, элементы меню. Сделал я тогда заголовку элемента меню на отдельном символе (по-современному это бы назвали "префаб"), а там шрифт использовался модный. Но нет проблем, выбираем его в списке медии и в свойствах указываем, дескать, ембеддить его в swf'ку с потрохами. Сделал — работает — показуем заказчику — заказчик говорит что шрифт не такой какой он хотел. Да мать-перемать в чём же дело? Меню создаётся? Да. Шрифт элементам указывается? Да. (иначе бы он другой был очевидно). УМВРЧЯДНТ? Ну, УМВР-то потому что шрифт ентот у меня в Винде установлен. Удаляю шрифт из Винды — вот оно, шрифт получился Times New Roman, который там совсем не в тему. Ну, если шрифта не хватает, вместо него TNR ставится. А что ж не так? Вытаскиваю префаб на первый кадр, сую его в рандомное место и пишу в нём "Lorem ipsum". Запускаю. Алилуйя! Вновь создаваемые пункты меню уже имели соответствующий шрифт! Убираю префаб — нет шрифта. Оставляю его, но оставляю все надписи пустыми строками в нём — снова нет шрифта. Пришлось его оставить с надписями, но за пределами кадра, чтобы до него было не добраться. Для верности ещё opacity 0.01 поставить (при 0 снова пропадают шрифты!). Так и пошло в продакшн.
А произошло по моим предположениям вот что: несмотря на то, что шрифту была дана команда эмбеддиться во флешку (на это было указано пальцем и ещё перепроверено), флеш решил побыть умнее меня и рассудил так: раз на кадре надписей этим шрифтом не встречается, значит эмбеддить не будем. Конечно, ему же было невдомёк, что они появятся только после прогрузки XML, вот он мне и проблем доставил изрядно: сначала я не заметил проблему (как ни странно на работе коллеги, работавшие над проектом тоже, потому что у них тоже в системах тот шрифт стоит), и получилось фиаско перед заказчиком, пришлось жопа-в-мыле исправлять. Потом пришлось думать "да что же не так-то мать вашу?!". А потом искать "некостыльный" способ решения проблемы, понять, что его нет да так и запустить в продакшн с костылём (в виде надписи, которую никто никогда не увидит, но которая нужна во имя всевышнего маразма).
И таких случаев было миллион за всё время, пока я работал с флешем. И крупные гадости он устраивал, да и на мелочи тоже не скупился. Например, ту же XML'ину он намертво загонял в кэш, и когда на сервере её содержимое менялось, флеш на это не реагировал (беря ту, что у него в кеше), не помогали ни перезагрузки страниц, ни очистка кеша самого браузера. Ну естественно, ведь флешка на странице — это, строго говоря, и не часть её. У неё там своё государство. Может, если ещё случаев вспомню, то расскажу, давно это было.
Как только появилась возможность отказаться от поддержки IE6, Флеш был послан далеко и надолго вслед за ним. Настолько вот паршиво он реализован. Никогда больше к нему не вернусь, никаких денег у заказчиков на это не хватит

Да здравствует jQuery, да здравствует HTML5 и CSS3 ! До сих пор когда вижу где-то на каком-то сайте флеш-части, мне становится противно. Как же хорошо, что iPhone (хоть что-то он полезное сделал) встал рогом и отказался эту гадость поддерживать, в результате Флеш на веб-страницах уже практически сошёл на нет.