Думаю что любой, кому по возрасту больше 25 лет даже на своей памяти видел, как так или иная технология только добилась работоспобсности сразу начинается заменяться другой, новой. Причём эта новая как правило повторяет старую на 90%, и также как правило лишена кучу фичь старой, скажем так является просто подмножеством старой. Но в этой новой технологии может быть и что-то новое, хотя как правило нового вообще ничего нет. Всё это приводит к тому, что потом выходит какой-нибудь герой или герои, и воссоздаёт всё заново, опять же на 90% состоящее из старых идей. Да, новые идеи появляются, комплексные идеи, вроде xerox alto, но происходит такое раз в 30-40 лет, а иногда и реже.
Можно привести пару примеров: os/2, NT -> win95|nt4.0 -> win2000 -> win8, CORBA -> COM|DCOP|XPCOM -> COM|XPCOM|DBUS, OLE|NPAPI -> ActiveX|NPAPI -> jsasm, Native Client, pepper, Active X. java me | java se -> android. Сами можете добавить пару сотен примеров без труда.
Можно конечно порассуждать, что были причины так делать. Допустим, что NPAPI однопоточна, небезопасна и тд. Но никто не мешал доработать, ввести новые правила. Не говоря уже о том, что NPAPI может и однопоточен, зато имеет тучу преимуществ благодаря всё тому же прямому доступу и достаточно простой структуре плагина. Понятно что причины каждый найдёт, это понятно.
Но давайте по другому посмотрим, а как бы это остановить. Как бы так поставить задачу, чтобы выполнить её наконец. Тут конечно возразят - мол это корпорации, это занятые места рабочие и прочее. Это всё понятно. Однако вопрос тот же. Как сделать так, чтобы просто решить задачи? Что для этого нужно?