Download all files attached on a site
If you want the entire files directory of uploaded files, you can do this with Drush:

drush rsync @source.target:%files/ @destination.target:%files


See: https://drushcommands.com/drush-8x/core/core-rsync/

This relies on having %files defined in your path-alias part of your alias definitions for drush.

Alternatively, you could ssh into the server, and tar/gzip the files directory, then scp it down to your machine (or sftp/ftp, I suppose).

Either of these methods will bring the entire files directory with it, which will have all uploaded files, any image derivatives (generated image style files) as well as cached css/js files. If you use the drush command with arguments, you can exclude directories you don't want.