мда....
По функциям: реализовать в external нельзя только чамс(по факту сделать это можно, но не стоит оно того). в остальном абсолютно одинаково.
По реализации: Internal гораздо легче организовать, так как по факту тебе доступна вся память на прямую, чего нельзя сказать о external(память придется читать и проверять)
По детекту: External гораздо легче спалить(по факту это можно спалить всего одной строкой кода). Internal спалить сложнее чем external(инжект не берем во внимание)
По задержкам: все лечится(и довольно легко), но для этого нужно хотя бы понимать что делает написанный код и почему происходят "рассинхроны"
описывать можно долго.....