The shell separates words before a command receives its arguments. A space inside a filename needs quoting or escaping so it remains one argument. Single quotes preserve literal text, including dollar signs; double quotes allow variable expansion.
File content doesn't need to be retyped when a copy will preserve it. Keep names and contents separate in your reasoning, especially when a record contains characters that also have meaning to the shell. Compare 'route $HOME.txt' with "$HOME/route.txt": the first keeps the dollar expression as text, while the second inserts the home directory. A backslash can protect a single space in a filename, but quoting the complete path is usually easier to read. The command receives the resulting filename without the surrounding quote marks.