OK, I think the main issue here is that the include:identical is "winning" (all the Roles you see are identical ones, not ones where there's a difference).
I don't think there's any way to combine include/exclude like this and actually control what happens. It's recommended to use a filter rather than exclude now anyway (so create a filter excluding roles in the GUI and save it to a .scpf file, then reference this with the /filter switch).
Even doing this, include:identical "wins", however there's a new switch now which omits the need for that: /assertidentical.
Using that switch will stop the error occurring on identical DB's but also not include identical objects in the output.