correct : the layout is one part of that. There are several pieces that work together here. The page definition assigns portlets to regions. The layout strategy can move portlets temporarily (for the timespan of the current request) to any other region, and the layout is the one that takes the rendered portlet markup and places it into the page , using the region name as a filter to determine what portlets go where. The theme is the last piece in the puzzle. It can style the content that was created by the layout, and it could even decide to filter certain regions, or move regions around.
So the shrt answer is :
1) assign the portlet to the region you want in the page definition
2) add the region to the layout (add a region tag)
3) add the region to the theme (if need be; all the default themes already have a regionC I beliefe)