Объясняется советской региональной политикой. После хаоса революций 1917 года и гражданской войны, большевики принялись обустраивать оставшуюся под их контролем территории в плане организации. Как декларирующиеся борцы за свободу народов, они не могли вернуться к практике царских губерний, поэтому предоставляли этим народам, так сказать, национальные квартиры. Те народы бывшей империи, чьи территории проживания соприкасались с государственной границей, получили статус республик. В случае наличия внутри республик других народов кроме титульного, они получали статусы АССР (Автономная Советская Социалистическая Республика) со статусом пониже и правами пожиже. В РСФСР таковых АССР было особенно много - Татарская, Башкирская, Якутская, Карельская, Чечено-Ингушская и т.п. В конце 80-х, вся эта система начала рушиться вместе с СССР. Республики рванули вон из Союза, а автономные республики внутри РСФСР стали громко возмущаться неравноправием, на которое их обрекает статус АССР по сравнению с ССР. Вслед за словами пошли дела и Верховные Советы АССР начали массово голосовать за повышение своего статуса до ССР. В постсоветское время, а начале 90-х, когда советский социализм потерял всякую актуальность, данные субъекты федерации стали просто республиками. И так как никакой глобальной реформы федеративных отношений с тех пор не случилось, они так и остались с прежним названием, ибо в АП видимо справедливо решили, что неважно как зовут кошку, главное что она сидит на привязи.
Россия сейчас не федерация а колониальное государство. Республики для федерации обычное явление , например в федеративном США республика Техас (так они сами себя называют).
Республики невозможны в унитарном государстве.