(Sorry if the button names are wrong. I am using the zh_TW locale and trying to run nautilus with LANG=C does not work.)
If a "file is in use" or similar error occurs during an "empty trash" operation, nautilus presents a dialog with the error message with the buttons "skip", "cancel", and "retry".
If the user presses "skip", the user would expect nautilus to delete the rest of the files. This is what happens.
If the user presses "cancel", the user would expect nautilus to immediately stop emptying the trash without trying to delete other files. However, this is not the case; nautilus continues to try to delete other files. This means that currently "cancel" and "overwrite" are functionally identical, but nautilus gives a false impression that the user has 3 choices instead of 2.