Создавая интерфейс, вы тем самым можете быть спокойным за наличие в классе методов, которые наследуются от интерфейса. Сейчас вам может показаться это излишним, но вам просто нужно лучше изучать и углубляться в ООП. Интерфейсы описывают протокол взаимодействия и содержат только нужные методы, а уже потом их классы сами расширяют. "Миша решил, что метод MyMethod совсем не нужен. " Миша ничего не решает: он либо обязан унаследовать интерфейс и реализовать все методы, либо он пишет говнокод.
Быстродействие относительно. Питон с руби сокращают написание кода, но вот PHP совсем нет. А почему никто не заметил, что java - язык со статической типизацией, в то время как все остальные - с динамической?
Пока у вас проект уровня персонального сайта, ror выигрывает. Но, когда проект содержит 10 миллионов строк кода, java программисты лучше в нём разберутся. Поэтому я и говорю, исходите из задачи и ваших знаний.