Doing a grep on the code directory will get you a list of files that triggers an invalidation.
grep -Ri '::STATUS_REQUIRE_REINDEX' .
The following core files trigger an invalidation
./core/Mage/CatalogSearch/Model/Indexer/Fulltext.php
./core/Mage/Catalog/Model/Product/Indexer/Flat.php
./core/Mage/Catalog/Model/Product/Indexer/Price.php
./core/Mage/Catalog/Model/Category/Indexer/Flat.php
./core/Mage/Catalog/Model/Category/Indexer/Product.php
./core/Mage/Catalog/Model/System/Config/Backend/Catalog/Product/Flat.php
./core/Mage/Catalog/Model/System/Config/Backend/Catalog/Category/Flat.php
./core/Mage/Catalog/Model/Indexer/Url.php
./core/Mage/Backup/Helper/Data.php
./core/Mage/CatalogInventory/Model/Indexer/Stock.php
./core/Mage/ImportExport/Model/Import.php
Basic events in the Magento CE core are
Product Attributes
specific save attribute (is part of flat product), store, store_group if flat catalog product is enabled
Product Prices
checking configuration settings save (like price scope). or product save, website create / delete
Catalog URL Rewrites
no specific invalidation
Product Flat Data
Specific save attribute (is part of flat product), if flat catalog product is enabled, After enable flat product
Category Flat Data
Check is flat catalog category is enabled and specific save category, After enable flat category
Category Products
check is flat catalog category is enabled and specific save category
Catalog Search Index
specific save attribute (is part of searchable attributes), store, store_group if flat catalog product is enabled
Tag Aggregation Data
Never invalidated except general conditions mentioned below
Stock Status
specific System > Config settings in inventory tab save, show out of stock products for example
All of them are invalidated after a rollback on the backup from System > Tools > Backup
and creating, deleting or moving around websites, stores and storeviews
After running dataflow imports for product the following is invalidated: catalog_product_price, catalog_category_product, catalogsearch_fulltext, catalog_product_flat
Several indexers like flat data and the URL indexer seem to also be invalidated by saving core_config_data
values.