diff --git a/docs/extensions/customization-strategies.md b/docs/extensions/customization-strategies.md
new file mode 100644
index 0000000000000000000000000000000000000000..662310f3e8ae2f06049edfb2bfc199d4c48094d1
--- /dev/null
+++ b/docs/extensions/customization-strategies.md
@@ -0,0 +1,39 @@
+# Customization Strategies
+
+Building a CiviCRM extension is the *recommended* way to customize CiviCRM, but others strategies exist too. This page summarizes some of the advantages and disadvantages of each strategy. 
+
+| Capability | CiviCRM Extension | CiviCRM Custom PHP/Tpl Dir | Drupal Content (Smarty) | Drupal Module | Joomla Plugin (Civi v3.3+) | WordPress Plugin (Civi v4.6+) | 
+| --- | --- | --- | --- | --- | --- | --- | 
+| **Pre-Install** | Configure path; (For devs: install civix) | Configure path | Configure new format | None | None | None | 
+| **Compatibility** | All CMSs | All CMSs | Drupal-only | Drupal-only | Joomla-only | WordPress-only | 
+| **Distributability** | Good | Yes (Extra Steps) | Yes (Extra Steps) | Good | Good | Good | 
+| **Packaging** | Yes | No | No | Yes | Yes | Yes | 
+| **CiviCRM API** | Yes | Yes | Yes | Yes | Yes | Yes | 
+| **CiviCRM Hooks** | Yes | No | No | Yes | Yes | Yes | 
+| **CMS Hooks** | No | No | No | Yes | Yes | Yes | 
+| **CodeGen** | Yes |  No |  No |  No |  No |  No | 
+| **Reports** | Yes | Yes (Extra Steps) | No | Yes (Extra Steps) | Yes (Extra Steps) | Yes (Extra Steps) | 
+| **Payment Processors** | Yes | Yes (Extra Steps) | No | Yes (Extra Steps) | Yes (Extra Steps) | Yes (Extra Steps) | 
+| **Searches** | Yes | Yes (Extra Steps) | No | Yes (Extra Steps) | Yes (Extra Steps) | Yes (Extra Steps) | 
+| **SQL Tables** | Yes (Extra Steps) | No | No | Yes | ? | ? | 
+| **Web Page** | Yes | No | Yes | Yes |  Yes | Yes | 
+| **Web Form** | Yes | No | No | Yes | Yes | Yes | 
+| **Extend API** | Yes | Yes | No | Yes (Extra Steps) | Yes (Extra Steps) | Yes (Extra Steps) | 
+
+Key: 
+
+* **Pre-Install** - Are there any major steps one should take before using this type of add-on?
+* **Compatibility** - Are there major constraints on which CiviCRM installations can use this?
+* **Distributability** - How easy is it to share, mix, and match add-ons among different sites?
+* **Packaging** - Does this require extra packaging steps (eg write info file, build tarball)?
+* **CiviCRM API** - Can one CRUD entities with the API?
+* **CiviCRM Hooks** - Can one respond to processing events in Civi?
+* **CMS Hooks** - Can one respond to processing events in the CMS?
+* **CodeGen** - Can one use the civix code generator?
+* **Reports** - Can one package a new report?
+* **Payment Processors** - Can one package a new payment processor?
+* **Searches** - Can one package custom search screens?
+* **SQL Tables** - Can one add/drop/migrate custom SQL tables?
+* **Web Page** - Can one define new URLs with basic pages?
+* **Web Form** - Can one define new URLS with forms?
+* **Extend API** - Can one add entities or actions to the CiviCRM API?
diff --git a/mkdocs.yml b/mkdocs.yml
index 01c41e2681979e4bef80ec4e5431d97fb4d215a4..fee72eeac3144fafc89234f72c5529b653234b5d 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -32,6 +32,7 @@ pages:
   # Verifying a Bug Fix: /core/verifying.md
 - Extensions Development:
   - Basics: extensions/index.md
+  - Customization Strategies: extensions/customization-strategies.md
   - civix: extensions/civix.md
   - Extension Structure: extensions/structure.md
   - info.xml file: extensions/info-xml.md
diff --git a/redirects/wiki-crmdoc.txt b/redirects/wiki-crmdoc.txt
index 41a4d444668afe4847ff0147dcf169ff92800e68..fb7133ebb726a85d8b2e536aadf5c26f40909833 100644
--- a/redirects/wiki-crmdoc.txt
+++ b/redirects/wiki-crmdoc.txt
@@ -148,3 +148,4 @@ Settings+Reference framework/setting
 Region+Reference framework/region
 HTML+Header+Region framework/region#header
 Chaining api/chaining
+Add-on+Formats extensions/customization-strategies