Does every Pokemon have the same highest CP that it can achieve? Do they have eventually the same highest CP at the maximum level?
Each species has its own maximum CP, which is the maximum CP of an individual Pokemon of that species that has 100% perfect IVs. Thus, there is a maximum CP for each Pokemon that is the same for all Pokemon of that species, but not all Pokemon in a species will be able to reach that maximum. The maximum is only attainable with 100% perfect IVs. For a Dragonite, the highest possible maximum CP would be 3525. However, based on your Dragonite's IVs, its maximum CP could be as low as 3088.
An individual Pokemon's maximum CP is limited by its IVs. Thus, no, not all Pokemon of a species will end up with the same CP if they are fully powered up.
You are able to get a rough estimate of your Pokemon's IVs in-game by having your team leader appraise them. For a more precise reading, use tools like the Pokemon Go IV Calculator.