Tries are tree data structures that are useful for storing and retrieving data with associative keys like strings, especially variable-length strings. Tries have applications in auto-complete suggestions, longest prefix matching for IP routing, spell checking, phone book contact searching, and predictive text entry systems like T9. The keys are stored based on prefix matching in a trie, allowing fast lookup and retrieval of all keys that start with a given prefix in near-constant time.