I believe it's a derivation from "crap". If you can't say "crap", what's the next nearest, um, thing?