greatest doesn't depend on anything beyond ANSI C or do any allocation, keeps boilerplate to a minimum, and allows for rapid iteration during development.
TDD helps me understand what my code is doing, encourages me to learn new testing frameworks, helps me learn new languages, and helps me to be fearless.