Есть несколько причин*:
1. Особенность строения языка
У меня, например, язык был очень длинный от этого я и шепелявил, и соответственно картавил, с возрастом череп вытянулся, и шепелявость прошла, хотя в детстве врачи пугали подрезанием языка.
2. Просто не умение выговаривать эту букву.
Человек просто не понимает как правильно произносить эту букву. Помогает логопед, или самостоятельная практика. Я сам раньше не понимал, но помог логопед в начальной школе.
3. Человеку удобнее картавить, чем говорить правильно.
Например, у меня неправильное произношение вошло в привычку, могу произносить правильно или неправильно. Тем более за большее количество лет, мое горловое произношение буквы "Р" практически не отличается от обычного, а напротив дает некую фишку моей речи.
Я столкнулся сразу со всеми этими проблемами картавости. Так что если судить по себе, как по картавому человеку, то я картавлю потому что мне так удобнее, и мне нравится картавить.
*Возможно есть еще какие-то, эти я выделил как вы поняли, по личному опыту, не брал в расчет иностранные произношения.
Нк совсем верно. Все звуки должны появиться к 5 годам, не надо тянуть до школы.