Both are static (you type them in; they don't come from a routing protocol), so the difference is purely what they match.

Static route — one named destination

A static route tells the router exactly how to reach one specific network:

R1(config)# ip route 10.2.0.0 255.255.0.0 10.1.1.2

"For anything in 10.2.0.0/16, send it to next-hop 10.1.1.2." If a packet's destination isn't covered by this (or any other) route, it gets dropped.

Default route — the catch-all

A default route is a static route to the all-zeros network 0.0.0.0/0, which matches every destination:

R1(config)# ip route 0.0.0.0 0.0.0.0 10.1.1.2

Because the routing table uses longest-prefix match, the default route only wins when nothing more specific matches — so it's the gateway of last resort. You'll see it marked with S* and "Gateway of last resort is …" in show ip route.

When to use which

  • Static route: small networks with a few known remote subnets, or to override a learned route.
  • Default route: a stub site or edge router that just needs "everything else goes to the ISP." One line replaces dozens of specific routes.

Bonus: floating static

Add a higher administrative distance (e.g. ip route 0.0.0.0 0.0.0.0 10.1.1.2 200) and the route only installs if the preferred path disappears — a floating static backup.