Использовать или не использовать IB - это вопрос вкуса. Кому-то кажется, что он упрощает разработку. Кому-то кажется, что усложняет.
Лично мне всегда было удобней все создавать в коде: когда через некоторое время возвращаешься к проекту, то взглянув на код, можно сразу понять что, где, как и почему. Этот метод более гибок, и я ощущаю полный контроль над UI, могу делать его каким угодно.
Еще меня немного смущает ситуация, когда что-то работает, но я не знаю, почему оно работает. Не хочется слепо верить галочкам, выставленным в констукторе.
С другой стороны, если нужно очень быстро набросать базовый UI, и привязать какие-то действия к нему, то IB весьма полезен.