Чем полезны интерфейсы в разработке, так это тем, что под реализацией можно спрятать такую дичь, что без молитвы на изгнание бесов, взглянуть даже не получится. Помните старую байку про принципы ООП, SOLID, зависимость на абстракциях, бла-бла-бла.. Так вот, в реальности, сильно чаще интерфейсы создаются для написание говнокода, с надеждой, что когда-то в будущем, реализация будет подменена на качественную. Конечно, в 90% случаев это не случается. Все дело в том, что в реальном производстве (игр, приложений, сайтов, чего угодно), если мы говорим про бизнес, то главное это деньги. При чем стадия проекта не сильно важна, будь это незерабатывающий стартап, или многолетний перформящий продукт. Без денюжек не выжить в обоих случаях. Поэтому разрабатывать в спокойном темпе, вытаскивая качество на первый план не получается практически никогда. Важна скорость, итерации, чтобы быстрее начать зарабатывать. Именно бизнес платит нам, разработчикам денюжку, именно он знает, когда и что нужно вып