O Aulete também diz que a interjeição caraca tem origem em caraco, que é um termo mineiro pejorativo para pessoas de língua espanhola, e que, por sua vez, ainda segundo o Aulete, vem do próprio espanhol carago, ou seja, caralho. Isto é que me surpreendeu. Carago é um termo do norte de Portugal; no dicionário da Real Academia Española aparece, mas com um significado que não tem nada a ver. Terá sido um engano, o termo espanhol é carajo, que é, segundo o dicionário da Academia das Ciências de Lisboa, a origem de carago. Caralho e carajo têm ambas possivelmente origem no latim caraculu, ou pequeno pau.
Seja esta ou não a origem de caraca, eu creio que existe de facto uma relação entre as interjeições caraca, caraças, e carago. Parecem ser todas variantes relativamente aceitáveis de caralho. Como interjeições, são todas, em grande medida, usadas para exprimir a mesma ideia ou sentimento. Uma diferença é que caralho é muito mais grosseiro, e é também a única destas palavras que significa pénis. Também caramba é originalmente uma variação eufemística espanhola de carajo.
A grosseria extrema é provavelmente uma das razões para o aparecimento de alternativas foneticamente parecidas. A pessoa pode dar a entender caralho sem o dizer. Com o tempo, a associação pode até perder-se. Outro exemplo provável disto é fosca-se, fosga-se e fónix em Portugal. Este artigo na Veja também atribui a este fenómeno a origem de caraca, caramba e puxa.