Encontrei um tópico muito bom na rede que explica a diferença de uma maneira muito direta: http://www.thestudentroom.co.uk/showthread.php?t=232168 .
O algoritmo de Kruskal desenvolverá uma solução a partir da borda mais barata, adicionando a próxima borda mais barata, desde que não crie um ciclo.
O algoritmo de Prim desenvolverá uma solução a partir de um vértice aleatório adicionando o próximo vértice mais barato, o vértice que não está atualmente na solução, mas conectado a ela pela aresta mais barata.
Aqui está anexada uma folha interessante sobre esse tópico.
Se você implementar o Kruskal e o Prim, em sua forma ideal: com um achado de união e um monte de finbonacci, respectivamente, observará como o Kruskal é fácil de implementar em comparação com o Prim.
Prim é mais difícil com um heap de fibonacci, principalmente porque você precisa manter uma tabela de contabilidade para registrar o link bidirecional entre nós do gráfico e nós do heap. Com um Union Find, é o contrário, a estrutura é simples e pode até produzir diretamente o mst quase sem custo adicional.