Extensions are installable packages which give CiviCRM new functionality, and this directory provides a centralized list of extensions which the CiviCRM community has created.

Further resources:

This listing displays modules specifically built to integrate with Drupal features. You can also browse directories of plugins or modules that are made specifically for Backdrop, Joomla and WordPress. The recommended way to add functionality to CiviCRM is using CiviCRM extension.

A powerful, flexible, user-friendly form builder for CiviCRM. Just as Views can output data in virtually any way imaginable, this module allows you to have data input exactly the way you want. Create and update contacts, group subscriptions, tags, relationships, cases, activities, event participants, memberships and contributions via robust, user-friendly webforms that integrate seamlessly with your Drupal site.
Exposes CiviCRM data as true Drupal entity types, providing seamless integration with any module using Drupal's Entity API, such as Rules.
Allows Drupal's cron to invoke CiviCRM's cron.
Allows you to display the CiviCRM menubar on non-civicrm pages of your website.
Aegir module to automatically setup Drupal instances with CiviCRM.

When a customer buys something from a Drupal Commerce online shop, this module:

Creates a CiviCRM contact record if the purchaser doesn't already exist.
Adds the purchaser to the specified CiviCRM group.
Adds (or updates) a contribution history to their record.
This module allows for users to access event payment receipts based on event contribution records in CiviCRM.

Receipts are created as Drupal nodes so site admins can enable printing/PDF exports.
This extension is created for secure Worldpay. This extension supports both Drupal 7 / Drupal 8 (Hasn't been tested against Other CMS but it should work because this is an CMS independent Extension). This extension uses IPN Payment. where the payment page is redirected to the Worldpay server and once the payment has been successfully received, will then redirect to the payment page again.
CiviCRM and Drupal both place a copy of jQuery on the page, which is inefficient. This module removes Drupal's (older) copy and uses the single copy from CiviCRM for both applications. This results in faster page loads and a more responsive web browser.
Provides CiviCRM entity destinations for Migrate V2.
Upgrades event iCal buttons to a better looking dropdown that includes a link to Google Calendar.