By default, all the objects that were found to be different during the comparison of the two databases are marked for inclusion in the synchronization script. However, you can choose to exclude or include certain objects from the comparison by checking or clearing the Synchronize checkbox next to each object. Selecting or clearing a parent object also affects the dependent objects. For example, if the checkbox for a table is cleared, then all of its primary keys, foreign keys, indexes etc. are also cleared.
You may be surprised to see included in the synchronization script an object that you explicitly excluded. Why are those objects included? To answer this you need to look under the comparison / synchronization options and see if the option to Include Dependent Objects is ON. When that option is ON, an included object will cause all the objects on which it depends to also be included in the synchronization script. For example, if you have a table T1 that contains foreign keys coming from tables T2 and T3 then, even though you may have cleared tables T2 and T3 if T1 is checked then both T2 and T3 will be included. When the Include Dependent Objects option is OFF, then your object selection is respected, however, in this case you should be aware that the resulting synchronization script might not execute successfully.