The results pane that shows the differences between objects that exist in both databases is showing objects that do not have any differences.
For example, select one of the views and see (view =/= view) at the top but the details do not show any lines of the view that are different.
The issue is a textual vs semantic comparison issue.
If the object is listed in the 'identical' group in the top grid, but when you click on the object it is shown with differences in the bottom grid, then the difference is probably related to the two types of comparison SQL Compare performs.
When SQL Compare compares a schema, a semantic comparison will be performed (top grid) which will group the objects based on the rules you have applied to the deployment and other basic functionally similar syntax that will automatically be ignored. It is these differences that will be deployed.
The other comparison is a straight textual comparison, that will be displayed in the bottom SQL Differences pane. All textual differences will be highlighted here. We can try match the rows as best we can, but each method will have its limitations and we don't think it would be right to reorder the SQL at this stage.