"crap" is a less vulgar way of saying "shit," and can be used instead of "shit" if you want to express some vulgarity but don't want to offend people by using an actual swear word, for example if there are children around or you're at the office. for another example, "frigging" or "freaking" are more polite versions of "fucking," e.g., "what's your frigging problem?" "Shit" and "fuck" are generally seen as extremely vulgar and offensive, so people use these replacements words instead. You see this a lot on American network television because the regulations don't allow shows to use "shit" or "fuck."