Without CIDR, routers have to maintain a routing table entry for each destination network. If more than one of these entries has the same path, this is inefficient. With CIDR, a router can summarize multiple entries that use the same path into a single entry. Then, when it needs to forward a packet, the router can look through a shorter list of routing table entries, and thus take less time in forwarding packets.
Take, for example, your router at home. You have a few computers connected to it, and it has routes to all these devices. However, when you need to send traffic to a host on the Internet, the router just sends the packets out on the same interface, regardless of what network they're destined for. Google's IP addresses start with 74 in the first octet, whereas Facebook's start with 66. Your router, though, sends traffic destined for both sets of addresses on the same interface. In fact, it sends all traffic destined for anything except devices on your network on the interface connected to your ISP's network.
So when your router receives a packet, it searches through its routing table for the right interface to send it on. In small networks, it only has two entries: your home network, and 0.0.0.0/0 for anything else. Routers look for the most specific match, so if the destination IP matches your home network, it sends it there. However, if the address does not match your home network, the only other route is the 0.0.0.0/0 one, so it sends it out on the other interface.
That was a bit of an oversimplification of the relationship between a customer and an ISP, and CIDR doesn't have to be used for default routes (that's what the 0.0.0.0/0 is called). To sum up, CIDR is used to shorten routing tables when possible and make a router's job easier by giving it less routing table entries to look through when forwarding traffic.