I usually make one AE project for all graphics I'm going to make for a video. The problem I frequently run into is when versioning a particular Comp I have to also duplicate all PreComps used in the Comp and Alt+Drag them over the old PreComps just in case I want to change something for version 2 while keeping version 1 exactly as I sent it to the client.
This is time consuming and sometimes I forget to do it or miss a PreComp and find out later that my version 1 comp (despite having all tracks locked) is now different because of a PreComp I changed for version 2.
I've gotten around this by just versioning the entire AE project but that only works well if I have say, 1 or 2 clips that require graphics. If I have 15+ shots that need work it's a pain to have to make new AE projects and versions for each one.
save your project, then select the comp you want to duplicate in the project window and choose file>reduce project. then save that project as a new name (if you want to be extra cautious, you may want to save as a new name first, to prevent overwriting your original project).
then open the original project and import the 'reduced' project. it will import that project into a folder within original project. within that folder you will have the duplicate comp, with all the necessary nested comps and assets to make revisions to without disturbing the original comps.