I thought the single quotes simply reserve the literal value of each character within the quotes and do not interfere with the command result except for those character-escaping situations.
For example, the two commands below returned the same result.
$ ls /home/testuser/tmp1
$ ls '/home/testuser/tmp1'
This command below ran successfully.
$ cp /home/testuser/tmp1/* /home/testuser/tmp2
However, the command below ran into error.
$ cp '/home/testuser/tmp1/*' /home/testuser/tmp2
cp: cannot stat '/home/testuser/tmp1/*': No such file or directory
What did I do wrong here?