Core Issue
The most common reason for this problem is that the ip classless command is turned off. Issuing the no ip classless command turns off the router's ability to look for the route with the longest bit match, as shown in this example:
ip route 10.1.1.0 255.255.255.0 1.1.1.1
ip route 0.0.0.0 0.0.0.0 2.2.2.2
no ip classless
With the no ip classless command, traffic destined to 10.2.1.1 is not sent to the default route because the class A network 10.0.0.0/8 is already in the route table.
Resolution
To have the Cisco IOS Software forward packets destined for unrecognized subnets to the best supernet route possible, issue the ip classless command from global configuration mode, as shown in this example:
router#(config) ip classless
For more information, refer to the Enabling Classless Routing Behavior section of Configuring IP Addressing.