What you call a photo is actually :
- an image file of a specific event which can take various formats and forms (Raw, jpeg, at various compression levels) and that can take different forms on different devices, meaning you deal with different computer files and different creation dates and possibly names.
- some metadatas, either related to the act of taking the photo (focal, speed), usually inside the image file (see EXIF, sometimes IPTC), possibly added separately (GPS), or linked to a software (Albums, visages for example in Photos.app) and not in the file
- possibly some editions made on the image (red eyes, lighting, spots, whatever) which are almost always software-dependant and not easily exportable
All merging processes are heavily dependant on what starting conditions you deal with. In your case, it's possible that all Apple related devices are using an Apple software (iPhoto, Aperture, Photos) where you can find some dedicated software that can do part of what you look for. See for example PowerPhotos.
You might need to separate Raw and jpeg duplicates. See for example RawHide
You might need to re-enter coordinates. See HoudahGeo
Regarding deduplication of non Apple-managed files, you might either work with the capabilities of the software you want to use with the end-structure, Photos.app is quite limited, or enter beforehand some information by editing the files itself, such as a mix of script programming and using third-party libraries such as exiftool. You might have a look at Peakto who can import a lot of different bases of different formats in one unique catalog.
On top of that, you'll have to think of how you want to access them in the future, and for what cost. 15 years can easily exceed 50 Gb and fall into the 3 €/month iCloud Apple plan per user, except if you're in a family plan.
As a consequence, depending on your requirements and level of exigence, you are either in a simple copy / paste situation or in a complex computer project that will take you weeks.
The first step you need to take is to look at what are the sources you deal with, what editions they have been trough, if you want or not to keep them and what is their level of duplication. Then, who will look at them and how.