This module adds an extra tag called {exp:categories} that, unlike {exp:channel:categories} can get category information without being tied to a channel. This way you can let a client edit categories (lists basically) which you use in form dropdown lists, etc.
To install simply unzip and drop the "categories" folder into /system/expressionengine/third_party/ - then navigate to Addons -> Modules in the Control Panel and hit "Install" on the "Categories" module.
Here's code to output a ul/li based menu:
<ul>
{exp:categories category_group_id=’1’}
<li><a title="{category_name}" href="{path=blog/category}/{category_url_title}" >{category_name}<span class="nav-description">{category_description}</span></a>
{if has_children}
<ul>
{children}
<li><a title="{child_category_name}" href="{path=blog/category}/{child_category_url_title}">{child_category_name}</a></li>
{/children}
</ul>
{/if}
</li>
{/exp:categories}
</ul>
Get all categories w/entry count:
{exp:categories category_group_id="1" style="linear" fetch_entry_counts="yes"}
<li><a href="{path=blog/{category_url_title}}">{category_name}</a> ({category_entry_count})</li>
{/exp:categories}
Only display categories that contain entries:
<ul>
{exp:categories category_group_id="1" style="linear" show_empty="no"}
<li><a href="{path=blog/{category_url_title}}">{category_name}</a> ({category_entry_count})</li>
{/exp:categories}
</ul>
This example will populate a dropdown list using the categories in group_id 4:
{exp:categories category_group_id="4" style="linear"}
<option value="{category_url_title}">{category_name}</option>
{/exp:categories}
Create a navigation menu for a channel from its associated categories (while counting the entries w/status open OR featured for each category):
<ul class="faq-categories">
{exp:categories channel='faq' fetch_entry_counts='y' only_count_status='open|featured'}
<li><a href="#">{category_name} <span>({category_entry_count})</span></a></li>
{/exp:categories}
</ul>
This will populate a form with some hidden values pointing to category images:
{exp:categories category_group_id="4" style="linear"}
<input type='hidden' name='{category_url_title}_logo' value='{category_image}'/>
{/exp:categories}