Creating a archive for taxonomy terms, not the term results

You might want to check out this post, as your post is linked to that question. That should explain most of your question.

As for your code, move that outside the the loop. You were nearly there with your code. Check out get_terms in the codex to see which objects you can use that is returned by the function. You can use $term->description instead of term_description($post->ID,$term); to return the term’ description. Modify your code to

$terms = get_terms( 'collections' );

echo '<ul>';

foreach ( $terms as $term ) {

// The $term is an object, so we don't need to specify the $taxonomy.
$term_link = get_term_link( $term );

// If there was an error, continue to the next term.
if ( is_wp_error( $term_link ) ) {
    continue;
}

// We successfully got a link. Print it out.
echo '<li><a href="' . esc_url( $term_link ) . '">' . $term->name . '</a></li>';
echo  $term->description; // This will return the description of the term

}

echo '</ul>';