Kruskal sorts edges and adds the smallest ones that don’t create cycles (uses Union-Find). Prim grows a tree from a start node using a priority queue of edges. Both can be O(E log E) / O(E log V) depending on implementation.
Expanding on the short answer — what usually matters in practice:
A tiny example (an explanation template):
// Example: discuss trade-offs for "kruskal-vs-prim-for-mst-—-how-do-they-differ?"
function explain() {
// Start from the core idea:
// Kruskal sorts edges and adds the smallest ones that don’t create cycles (uses Union-Find).
}