The iteration is a fixed timebox. And the showcase provides an opportunity to seek acceptance from the customer. It provides closure for the iteration, which can then be reflected upon in a retrospective. To maintain rhythm, it’s important that the iteration review is held at the same time, on the last day of the iteration. Don’t delay or postpone it. Respect the timebox.
Obviously the aim is to get all the agreed user stories done in the iteration so that they can be demonstrated in the showcase. But shit happens. What can you do?
Don’t start a story that cannot be finished in the iteration. It’s better to descope the story from the iteration than to partially complete it by the time of the showcase. Always obtain the customer’s permission to descope the story or talk with the customer to see if it can be split into smaller stories, one of which can be done in the time remaining.
If it looks like a started story can’t be finished in time, don’t push to get it done. It’s better to let a partially completed story slop to the next iteration than to risk delaying the iteration review. Leave it. Back out the code and demonstrate only the completed stories in the showcase. Don’t count the partially completed story towards your velocity for the iteration.