Не всегда, есть программисты, предпочитающие пробелы. У того и другого варианта есть свои плюсы и минусы. Загугли, если интересно. Это холиварная тема, в сети полно информации, в том числе на хабре.
Проблема пробелов/табуляций высосана из пальца любителями программировать в блокноте. А в нормальных IDE есть функция автоматического форматирования, благодаря которой нас это вообще не волнует.
В каждом языке программирования есть сложившийся с годами общепринятый Code Style. В каких-то языках (PHP) предпочитают пробелы, в каких-то (Go) табуляции. Достаточно всего лишь настроить IDE - чтобы она сама ставила нужное кол-во нужных символов - и о проблеме "пробелы vs табуляции" ты больше не вспомнишь.
С тех пор, как клавиатуры в большинстве своем стали дешевыми и тихими, а редакторы стали сами делать отступы, уже не бесятся. А раньше постоянное громыхание пробела могло вывести из себя кого угодно. Я также видел клавиатуры со стертыми до дыр (sic!) пробелами. Что касается упомянутого другими ответчиками редактирования документов, это вообще не было проблемой никогда - заменить таб на некоторое количество пробелов или наоборот не просто, а очень просто.
Потому что табуляцию можно конвертировать в разное число пробелов. Весь код едет и становится непонятной кашей. А в случае с пайтоном и вовсе перестаёт работать. Страшнее всего смесь табуляции и пробелов.