¿Cuándo es más apropiado usar CRC que MD5 / SHA1?

¿Cuándo es apropiado usar CRC para la detección de errores versus funciones de hashing más modernas como MD5 o SHA1? ¿Es el primero más fácil de implementar en hardware