A copy keeps the source and creates another entry. Directories need recursive copying because their contents can include more directories. Check both the visible configuration file and a nested file after the operation. A backup with only the top-level files is incomplete.
Be careful about whether the destination already exists, because that affects the copied path. These workspaces give you a new backup path so you can focus on preserving the whole tree. If backup doesn't exist, cp -r source backup creates backup as the copy's root. If backup already exists as a directory, the copy goes inside it as backup/source. That extra level can break a later script's expected paths.
Confirm the destination structure with ls, then read a nested file to check the copy.