A threaded binary tree is a variant of a binary tree that stores in-order predecessor and successor pointers instead of null pointers to facilitate faster traversal without recursion or an auxiliary stack. There are two types: single-threaded stores successor pointers only, and double-threaded stores both predecessor and successor pointers. This decreases wasted space from null pointers but makes insertion and deletion more complex. Advantages include optimal memory usage and faster traversal, while disadvantages include more complex insertion/deletion and slightly more memory usage for thread indicators.