What you basically aim for in time-boxed approaches, like Scrum, is to get by the end of iteration potentially shippable product. It means that the ideal situation is when every story you started working on is completed.
Now it doesn't have be the same set of stories you planned for iteration. There are a few possible situations:
- You planned to do n stories but for whatever reasons (underestimation, unplanned absence, new information, etc.) you can't. It means you should throw something out of the scope of the iteration so you can still deliver something rather complete, even if completeness means something different than you thought during planning meeting.
BTW: because of such situations it is generally better to start working on most important stories first, so when you need to throw something out of the scope you choose among least important stuff.
You planned to do n stories but you go faster than planned and you can do more. A good practice here is to plan not only must-have features which you need to complete during sprint (taking your velocity into consideration that is), but also add some nice-to-have stories which you can start working on when you have time. It means that you basically agree that it is likely you won't complete those additional stories but if you're lucky some of them can be done.
You go exactly according to plan. Congratulations! Nothing to discuss here.
You have a combination of 1. and 2. Then you probably first compensate your underestimation with unplanned free time you have and check whether you still have some slack or are still overloaded and react accordingly as described above.