Navigate to Extensions→Module Manager. Select the module you want to assign and edit it.
In Joomla! 3.x this is found in the Menu Assignment tab of the module.
You can choose between On all pages, No pages, Only on the pages selected, On all pages except those selected from the List. To assign to some but not all pages choose the third option and select the menu links that you want the module associated with.
If your module is assigned to a position that does not exist in the template used to display a page, the module will not appear even if it is assigned to a specific page.
If your module is not published/enabled it will not appear even if assigned to a page.
You cannot assign a module to a URL link. This is because URL links do not have Itemids assigned to them.
You cannot directly assign modules to pages that are only linked via content (for example, a link from one article to another) or other, non-menu modules (for example, a link to an article from a module), because these also do not have Itemids. One work-around for this problem is to have an unpublished menu that contains links to the items you wish to link through non-menus. This will create an itemid that can be included in the url you link to.
There are several extensions in JED that give advanced options when assigning modules.