Разница в качестве. А может и в мощности. Технические характеристики надо смотреть.
Если же выбирать из трех представленных орудий самообороны, то я бы выбрал кастет.
Аргументирую:
Шокером надо попасть в незащищенную часть дела. Если человек в зимней одежды, то пробить его будет сложновато.
Баллончик зависит от ветра. Его порыв может снести распыление на вас.
У кастета, конечно, тоже недостатки. Бить надо уметь и, желательно, в голову. Но им можно попасть, например по локтю или колену. И тогда, если кастет хороший и удар сильный, нападавшему станет не до вас.
А вообще, лучше научиться ножом хорошо орудовать. Конечно, могут быть с ментами проблемы, но зато сами живы останетесь. Да и психологически такое оружие действует гораздо сильнее, чем шокер или баллончик.
А уж совсем хорошо - это реальный пистолет).