The issue is with the 'Scan' button, which also doubles up as the 'Cancel' button. So, lets go through the steps to reproduce the issue with a bunch of screenshots to highlight what's going on...
My printer/scanner goes to sleep sometimes and if it happens in the middle of a scanning session it doesn't wake up quickly enough...the scan shows up as in progress in Image Capture...
...but after a minute or so it I get an error. This error is correct because the scanner is still asleep.
When this error occurs, the 'Scan' button is changed to a 'Cancel' button.
At the point the app and scanner are in an error state, and the only way forward is to click the 'Eject' button next to the scanner and wake up the scanner manually (I do that by tapping its touch screen). This forces the scanner to warm up, but the 'Cancel' button remains as the 'Cancel' button and isn't changed to 'Scan'.
Oddly, clicking the 'Cancel' button now will initiate a scan!
After the scan completes the button is updated to 'Scan' again.
It's not a complicated sequence of events to reproduce and I'm surprised this hasn't been fixed already. However having said that, the Image Capture app seem to get broken all the time so maybe this shouldn't be that surprising!