According to Getting Started in KiCad | 5.1 | English | Documentation | KiCad under the heading Note about portability of KiCad project files, a project called myproject occupies files called:
    myproject.sch                        the schematic
    myproject.kicad_pcb             the PCB 
    myproject.pro                        the project
    myproject.net                        the netlist
    myproject.lib                          components for the schematic
    myproject.lib                          custom schematic parts
    myproject.kicad_mod            custom footprints
The last two files are OPTIONAL. If you use only standard schematic components and standard footprints, you will only have five files.
When I wanted to experiment with different layout or with different footprints or with different components, I created subdirectories for my “exploratory” layouts, myproject2.pro, myproject3.pro and copied the schematic myproject.sch into myproject2/myproject2.sch, myproject3/myproject3.sch, and so on.
There I changed whatever components or footprints I felt like changing in the schematic myproject2/myproject2.sch schematic file before creating the PCB file.
I created myproject3 in the same fashion to explore unrelated ideas.
This creates extra files, but so what? When you are done exploring, you can either delete the subfolders containing the versions that didn’t live up to your expectations or leave them there to remind you of what didn’t suit you.
KISS
EDIT:
After reading Rene_Poschl’s post earlier today at
I realize that it is essential to add the file myproject-cache.lib  to my list of required
files.
Thanks to @Rene_Poschl
So let’s see, that is at least three files and possibly up to eight  files are needed
to copy a Kicad project.
I should also thank @paulvdh, as he was the first to name this file. It takes a while for me to figure out what is important and what is not. Thanks, guys, for your feedback and for correcting me.