What is the difference between a Compare by Name and Compare by ID
The comparison report has an option in it to compare either by name or by id. The report is exactly the same, except for this one point, and there is a difference worth knowing about.
The comparison process creates a relationship between the old file and the new, and uses either the internal FileMaker id, or the name as the key field in the relationship.
The best way to look at the two types is to describe two hypothetical solutions, and when you'd use each report type.
Compare by ID
This option is best used to look for changes in a solution over time. So for example, your solution is in use by your client, and the client is making changes. You want to know exactly what has changed in the solution since they started work on it. A compare by ID will show you all of those details.
Compare by Name
A compare by name is best used when comparing two versions of a solution developed side by side. So for example, you're making changes in a development copy of your solution, and then replicating those change to a live version.
A compare by name is also useful in the case where you have two files that have been developed for two separate purposes, but, with either a common heritage, or a set of common features. After a while, you realise that the two files should be one, and you need to merge the two files. In merging the two files, you need to know what is the same, and can be left alone, and what is different and will need to be programmed for.
About FileMaker IDs
FileMaker creates the unique id automatically behind the scenes, and it's not something you can alter. Almost everything has a unique id. If you have a fp7 file, and make a copy of it, the ids stay the same. The ability to rename things in FileMaker comes from the hidden ids that are actually being used to reference the items used.
If you develop two sets of files independently, there is no guarantee that the ids will be the same for the same items. You might create two exactly similar files, but if you do anything out of order from one file to another, then the ids will get out of sync. So you'll end up with two files that appear and behave exactly the same, but are very different underneath.