CRC is computationally expensive compared to Checksum..
Checksum is very fast and cheap to compute even in software but it is NOT robust,it can guarantee to detect single bit error. In contrast,CRC is more expensive to do and hence generally done by hardware for computing it in a quick way..it is used by Ethernet and many link layer technologies..and it is more robust than CRC,its robustness can be seen like this way :- A 16 bit CRC can guarantee to detect error burst at most 16 bits whereas 16 bit checksum can only guarantee to detect single bit error.( NOTE guarantee means 100% detection ability)