Neither is better than the other generally. rsync will make full comparisons of files in both the source and destination folders, taking up some computing resources to save on bandwidth or write cycles. It's great if you're constantly updating a backup of a particular folder, but less than ideal if you're just doing a single copy operation.
cp functions more as a Swiss Army knife that just wants to get the job done. If you have to overwrite something, cp does it for you. Because of its capability for interactivity, it's also more beginner-friendly and gives you a bit more control over the copying process.