All the examples in this paragraph print the line
!"#$&'()*;<=>? @[\\]^`{|}~
A backslash quotes the next character, i.e. the next character is interpreted literally. The one exception is a newline: backslash-newline expands to the empty string.
echo \\!\\"\\#\\$\\&\\'\\(\\)\\*\\;\\<\\=\\>\\?\\ \\ \\@\\[\\\\\\]\\^\\`\\{\\|\\}\\~
All text between single quotes (forward quotes \\', also known as apostrophe) is printed literally. Even backslash stands for itself, and it’s impossible to include a single quote; instead, you can stop the literal string, include a literal single quote with a backslash, and start the literal string again. Thus the 4-character sequence '\\'' effectively allow to include a single quote in a literal string.
echo '!"#$&'\\''()*;<=>? @[\\]^`{|}~'
# ^^^^
Dollar-single-quote starts a string literal $'…' like many other programming languages, where backslash quotes the next character.
echo $'!"#$&\\'()*;<=>? @[\\\\]^`{|}~'
# ^^ ^^
Double quotes " delimit semi-literal strings where only the characters " \\\\ $ and ``` retain their special meaning. These characters need a backslash before them (note that if backslash is followed by some other character, the backslash remains). Double quotes are mostly useful when including a variable or a command substitution.
echo "!\\"#\\$&'()*;<=>? @[\\\\]^\\`{|}~"
# ^^ ^^ ^^
echo "!\\"#\\$&'()*;<=>? @[\\]^\\`{|}~"
# ^^ ^ ^^ \\[ prints \\[
Interactively, beware that \\! triggers history expansion inside double quotes: "!oops" looks for an older command containing oops; "\\!oops" doesn’t do history expansion but keeps the backslash. This does not happen in scripts.