In general I try to avoid double scrollbars whenever possible. We've had bad reactions to them in usability testing, and users have reported being stymied when faced with them.
Inner scrollbars can confuse users, and are especially frustrating due to mousewheel behavior. For mobile users, it's confusing, especially if there's no good indication that an inner area scrolls. For users with large/tall screens, having small scrolling areas can be very frustrating and seem overly restrictive restrictive.
Generally they're a sign that either:
- your design is very 'busy' (perhaps necessarily)
- you have content both above and below a variably-sized area, and you want to make sure the user is able to reach / see both at once
- the design is trying to avoid putting things 'below the fold' (perhaps unnecessarily), or
- you're avoiding non-square scrolling areas (these used to be hard to do on the web)
If you have multiple areas of long content--e.g., a table with hundreds of users in it, which have to be matched with a table with hundreds of jobs in it--then internal scrollbars might be justified, but there's almost always a better way to do it--just lay out the content so that it is "tall" and rely on the browser's scrolling feature.
Likewise, dynamic layout of a page can usually avoid the problem. Comment boxes on this site let the user resize them--but you could imagine a design which automatically increases the box size as you type, so you always have a line or two of space at the bottom. This relayout could be distracting, or it could help users focus on their input--you'd have to test it in your specific application. (And here on SE, the appearance of the live preview might impact this.)